zoukankan      html  css  js  c++  java
  • [Leetcode] Path Sum

    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.

    Solution:

     1 /**
     2  * Definition for binary tree
     3  * public class TreeNode {
     4  *     int val;
     5  *     TreeNode left;
     6  *     TreeNode right;
     7  *     TreeNode(int x) { val = x; }
     8  * }
     9  */
    10 public class Solution {
    11     public boolean hasPathSum(TreeNode root, int sum) {
    12         return dfs(root,sum,0);
    13     }
    14 
    15     private boolean dfs(TreeNode root, int sum, int curSum) {
    16         // TODO Auto-generated method stub
    17         if(root==null)
    18             return false;
    19         if(root.left==null&&root.right==null)
    20             return (curSum+root.val)==sum;
    21         return dfs(root.left,sum,curSum+root.val)||dfs(root.right, sum, curSum+root.val);
    22     }
    23 }
  • 相关阅读:
    ZOJ3414Trail Walk(计算几何)
    ZOJ-3410Layton's Escape(优先队列+贪心)
    爬虫之requests
    爬虫
    flsk-SQLALchemy
    flask--Wtform
    flask---信号
    flask-session
    单例模式
    Python-flask中数据库连接池DBUtils
  • 原文地址:https://www.cnblogs.com/Phoebe815/p/4100932.html
Copyright © 2011-2022 走看看