码迷,mamicode.com
首页 > 其他好文 > 详细

112.路径总和

时间:2020-04-03 13:53:34      阅读:54      评论:0      收藏:0      [点我收藏+]

标签:pat   function   font   循环   margin   weight   color   order   tom   

2020-04-03
路径总和
                                              技术图片
 
题解:
思路1: 递归
/**
 * Definition for a binary tree node.
 * function TreeNode(val) {
 *     this.val = val;
 *     this.left = this.right = null;
 * }
 */
/**
 * @param {TreeNode} root
 * @param {number} sum
 * @return {boolean}
 */
var hasPathSum = function (root, sum) {
  if (root === null) return false; // 递归到叶子节点 如果当前节点为null 说明这一条路径不对
  // 如果左右侧都没有子节点了 且当前节点的值等于剩余的sum 则当前节点是正确的路径
  if (!root.left && !root.right && root.val === sum) return true; 
  // 遍历某个节点 若左侧有值,将sum减去当前节点的值作为下一次递归的sum 一直遍历下去 直到最后的节点
  // 同样的 右侧有值同样的遍历下去 且 由于作用域的关系 sum 在每次递归中的值是互不影响的
  return hasPathSum(root.left, sum - root.val) || hasPathSum(root.right, sum - root.val);
};

 

112.路径总和

标签:pat   function   font   循环   margin   weight   color   order   tom   

原文地址:https://www.cnblogs.com/lanpang9661/p/12625918.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!