题解 | #二叉树中和为某一值的路径(一)#
二叉树中和为某一值的路径(一)
https://www.nowcoder.com/practice/508378c0823c423baa723ce448cbfd0c
import java.util.*; /* * public class TreeNode { * int val = 0; * TreeNode left = null; * TreeNode right = null; * public TreeNode(int val) { * this.val = val; * } * } */ public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param root TreeNode类 * @param sum int整型 * @return bool布尔型 */ public boolean hasPathSum (TreeNode root, int sum) { // write code here if (root == null) { return false; } return Sum(root, 0, sum); } private boolean Sum(TreeNode root, int current, int sum) { if(root==null){ return false; } if (root.left == null && root.right == null) { if (current + root.val == sum) { return true; } else { return false; } } return Sum(root.left, current + root.val, sum) || Sum(root.right, current + root.val, sum); } }
使用递归这些题还是非常好解决的,需要注意临界值的处理。