Advertisement
fensa08

Untitled

Jan 26th, 2020
292
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.35 KB | None | 0 0
  1.  
  2.  
  3. /**
  4. * Definition for a binary tree node.
  5. * public class TreeNode {
  6. * int val;
  7. * TreeNode left;
  8. * TreeNode right;
  9. * TreeNode(int x) { val = x; }
  10. * }
  11. */
  12. class Solution {
  13.  
  14.  
  15. public boolean checkTree(TreeNode node, int sum, int currentSum){
  16.  
  17. // ako e leafnode
  18. if(node.left == null && node.right == null && sum == currentSum + node.val){
  19. return true;
  20. }
  21.  
  22.  
  23. if(node == null){
  24. return false;
  25. }
  26.  
  27.  
  28. // 2 deca
  29. if(node.left != null && node.right != null){
  30. return checkTree(node.left, sum,currentSum + node.val) || checkTree(node.right, sum , currentSum + node.val);
  31. }
  32.  
  33. // levo dete
  34. if(node.left != null){
  35. return checkTree(node.left, sum, currentSum + node.val);
  36. }
  37.  
  38.  
  39. // desno dete
  40. if(node.right != null){
  41. return checkTree(node.right, sum, currentSum + node.val);
  42. }
  43.  
  44. return false;
  45. }
  46.  
  47.  
  48. public boolean hasPathSum(TreeNode root, int sum) {
  49.  
  50. if(root == null){
  51. return false;
  52. }
  53.  
  54. if(checkTree(root,sum,0) == true){
  55. return true;
  56. }
  57. return false;
  58.  
  59. }
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement