zoukankan      html  css  js  c++  java
  • [LeetCode] 112. Path Sum Java

    题目:

    Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.

    For example: 
    Given the below binary tree and sum = 22,

                  5
                 / 
                4   8
               /   / 
              11  13  4
             /        
            7    2      1
    

    return true, as there exist a root-to-leaf path 5->4->11->2 which sum is 22.

    题意及分析:求从根节点到叶子结点上的点相加,和是否有等于sum的。使用递归即可。遍历树,对每遍历一个点就减去用sum减去该点的值,就得到从根节点到当前点剩余的值,若对于叶子节点有sum-node.val==0,那么就存在题目中要求的叶子节点。

    代码:

    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode(int x) { val = x; }
     * }
     */
    public class Solution {
        public boolean hasPathSum(TreeNode root, int sum) {
            if(root==null) return false;
            if(root.left==null&&root.right==null&&sum-root.val==0) return true;
            return hasPathSum(root.left,sum-root.val)||hasPathSum(root.right,sum-root.val);
        }
    }
  • 相关阅读:
    局域网组网总目录
    VLAN之间的通信
    DHCP
    ACL
    linux 程序后台运行
    VLAN
    VTP
    dubbox生产者与消费者案例
    String data jpa执行的增删改查
    StringBoot整合Mytais实现数据查询与分页
  • 原文地址:https://www.cnblogs.com/271934Liao/p/7216022.html
Copyright © 2011-2022 走看看