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 }
  • 相关阅读:
    java
    JAVA的String 类
    JAVA的StringBuffer类
    TestLink 的使用详解
    Vertrigo Serv + testlink 环境搭建
    自动化测试全聚合
    selenium -文件上传的实现 -对于含有input element的上传
    chrome启动参数设置
    selenium
    java
  • 原文地址:https://www.cnblogs.com/Phoebe815/p/4100932.html
Copyright © 2011-2022 走看看