[leetcode] 112. 路径总和

112. 路径总和

前序遍历累加路径和即可,注意两点:

  1. 要在叶子节点判断是否等于目标和,非叶子节点达到了不行
  2. 可能出现空树,这时即使sum为0也为false(都不存在路径谈何路径和)
class Solution {
    public boolean hasPathSum(TreeNode root, int sum) {
        if (root==null) return false;
        if (root.left == null && root.right == null) {
            if (sum == root.val) return true;
            else return false;
        }

        return hasPathSum(root.left, sum - root.val)
                || hasPathSum(root.right, sum - root.val);
    }
}
posted @ 2018-11-06 21:11  ACBingo  阅读(365)  评论(0编辑  收藏  举报