zoukankan      html  css  js  c++  java
  • 112.路径总和

    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);
    };
  • 相关阅读:
    apns libcurl
    apns libcurl
    epoll
    epoll
    Linux服务器压测
    Linux服务器压测
    libevent
    libevent
    shell脚本
    shell脚本
  • 原文地址:https://www.cnblogs.com/lanpang9661/p/12625918.html
Copyright © 2011-2022 走看看