JavaScript刷题|[javascript]二叉树根节点到叶子节点和为指定值的路径
二叉树根节点到叶子节点和为指定值的路径
- 描述
- 代码
描述 给定一个节点数为 n 的二叉树和一个值 sum ,请找出所有的根节点到叶子节点的节点值之和等于的路径,如果没有则返回空。
例如:
给出如下的二叉树,sum = 22 ,
文章图片
返回
[
[5,4,11,2],
[5,8,9]
]
代码 【JavaScript刷题|[javascript]二叉树根节点到叶子节点和为指定值的路径】找了半天bug没找出来,20个样例过了13个,先码出来,后面再改
/*
* function TreeNode(x) {
*this.val = x;
*this.left = null;
*this.right = null;
* }
*//**
*
* @param root TreeNode类
* @param sum int整型
* @return int整型二维数组
*/
const ans=[]
function preorder(root,sum,tmp){if(!root) return
sum-=root.val
tmp.push(root.val)
if(root.left===null&&root.right===null){if(sum===0){ans.push(tmp)
}
return
}
if(root.left) preorder(root.left,sum,tmp)
if(root.right) preorder(root.right,sum,tmp)
return
}
function pathSum( root ,sum ) {// write code here
if(!root) return ans
let tmp=[]
preorder(root,sum,tmp)
return ans
}
module.exports = {pathSum : pathSum
};
推荐阅读
- 事件代理
- 数组常用方法一
- JavaScript|vue 基于axios封装request接口请求——request.js文件
- JavaScript|JavaScript: BOM对象 和 DOM 对象的增删改查
- JavaScript|JavaScript — 初识数组、数组字面量和方法、forEach、数组的遍历
- JavaScript|JavaScript — call()和apply()、Date对象、Math、包装类、字符串的方法
- JavaScript|JavaScript之DOM增删改查(重点)
- 【读书笔记】JavaScript|【读书笔记】JavaScript DOM编程艺术 (第2版)
- JavaScript判断数组的方法总结与推荐
- javascript|javascript 性能测试笔记