Path Sum
give a sum = 22 ,result = 5+4+11+7 = 22 return true;
5 / \ 4 8 / / \ 11 13 4 / \ \ 7 2 1
此题关键处位于递归中的返回true和false,其中这种用||来返回的是我在之前的一道题中获得的灵感。
public boolean hasPathSum(TreeNode root, int sum) { if (root == null) return false; return traveel(root, sum, 0); } public boolean traveel(TreeNode node, int sum, int num){ //判断结果 if (node == null) return false; num += node.val; if (node.left == null && node.right == null){ if (num == sum) return true; else return false; }else{ return traveel(node.left, sum, num) || traveel(node.right, sum, num); } }