package com.fishercoder.solutions;

import com.fishercoder.common.classes.TreeNode;

/**112. 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.*/
public class _112 {
    public boolean hasPathSum(TreeNode root, int sum) {
        if (root == null) {
            return false;
        }
        if (root.val == sum && root.left == null && root.right == null) {
            return true;
        }
        return hasPathSum(root.left, sum - root.val) || hasPathSum(root.right, sum - root.val);
    }

}

@@ -81,16 +81,20 @@
 de;%0A%0A/**
+%0A * 
 112. Pat
@@ -99,16 +99,17 @@
 ath Sum%0A
+%0A
 Given a 
@@ -305,16 +305,17 @@
 m = 22,%0A
+%0A
         
@@ -439,16 +439,18 @@
       1%0A
+%0A 
 return t
@@ -540,16 +540,50 @@
  _112 %7B%0A
+  public static class Solution1 %7B%0A
     publ
@@ -632,26 +632,24 @@
 um) %7B%0A      
-  
 if (root == 
@@ -660,28 +660,24 @@
 ) %7B%0A        
-   
- 
 return false
@@ -680,30 +680,26 @@
 alse;%0A      
-  %7D%0A  
+%7D%0A
       if (ro
@@ -762,28 +762,24 @@
 ) %7B%0A        
-    
 return true;
@@ -781,30 +781,26 @@
 true;%0A      
-  %7D%0A  
+%7D%0A
       return
@@ -887,11 +887,14 @@
 ;%0A    %7D%0A
+  %7D
 %0A%7D%0A

refactor 112