JavaScript刷题|[javascript]二叉树根节点到叶子节点和为指定值的路径


二叉树根节点到叶子节点和为指定值的路径

  • 描述
  • 代码

描述 给定一个节点数为 n 的二叉树和一个值 sum ,请找出所有的根节点到叶子节点的节点值之和等于的路径,如果没有则返回空。
例如:
给出如下的二叉树,sum = 22 ,
JavaScript刷题|[javascript]二叉树根节点到叶子节点和为指定值的路径
文章图片

返回
[
[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 };

    推荐阅读