题解 | #二叉树根节点到叶子节点的所有路径和#

二叉树根节点到叶子节点的所有路径和

http://www.nowcoder.com/practice/185a87cd29eb42049132aed873273e83

/**
 *
 * @param root TreeNode类
 * @return int整型
 */
function sumNumbers(root) {
  // write code here
  let total = 0;
  let arr = [];
  // 前序遍历+回溯
  let dfs = (node) => {
    if (node == null) {
      return;
    }
    arr.push(node.val);
    if (!node.left && !node.right) {
      // 当左右都是null时就遍历到本条路的末尾了
      total = total + parseInt(arr.join(""));
      console.log(arr);
      // 最后一个回溯
      arr.pop();
    }
    dfs(node.left);
    dfs(node.right);
    if (node.left || node.right) {
      // 非最后一个节点时回溯
      arr.pop();
    }
  };
  dfs(root);
  return total;
}
module.exports = {
  sumNumbers: sumNumbers,
};

全部评论

相关推荐

hwwhwh:同双非,有大厂实习其实也没啥用,主要看运气,等就行了
点赞 评论 收藏
分享
09-19 13:59
门头沟学院 Java
用微笑面对困难:Trae一下,如果真成了,他用了直接发字节起诉代码版权,,这个代码不商用是没问题的如果没成也是情理之中的。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务