0
点赞
收藏
分享

微信扫一扫

面试必刷TOP101:29、二叉树中和为某一值的路径(一)

题目

面试必刷TOP101:29、二叉树中和为某一值的路径(一)_子节点

题解

public class Solution {
    /**
     * 给定一个二叉树root和一个值 sum ,判断是否有从根节点到叶子节点的节点值之和等于 sum 的路径
     *
     *
     * @param root TreeNode类
     * @param sum int整型
     * @return bool布尔型
     */
    public boolean hasPathSum (TreeNode root, int sum) {
        if (null == root) {
            return false;
        }
        if (sum - root.val == 0 && isLeafNode(root)) {
            return true;
        }
        return  hasPathSum(root.left, sum - root.val) ||
                hasPathSum(root.right, sum - root.val);
    }

    /**
     * 判断节点是不是叶子节点
     *
     *
     * @param node TreeNode类
     * @return bool布尔型
     */
    public boolean isLeafNode(TreeNode node) {
        return null == node.left && null == node.right;
    }

}

举报

相关推荐

0 条评论