path-sum

来源:互联网 发布:淘宝学生女装店 知乎 编辑:程序博客网 时间:2024/06/05 06:45

1、链接:path-sum
来源:牛客网

热度指数:5068时间限制:1秒空间限制:32768KGiven a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.For example:Given the below binary tree andsum = 22,              5             / \            4   8           /   / \          11  13  4         /  \      \        7    2      1return true, as there exist a root-to-leaf path5->4->11->2which sum is 22.

2、思路:先序遍历,经过叶子结点时判断是否满足要求;
3、代码:

public class PathSum {    boolean isFound = false;    public boolean hasPathSum(TreeNode root, int sum) {        if(root == null){            return false;        }        preOder(root, sum, 0);        return isFound;    }    private void preOder(TreeNode root, int sum, int path_sum) {        if(root == null)            return ;        path_sum += root.val;        if(root.left == null && root.right == null){            if(sum == path_sum){                isFound = true;            }        }        preOder(root.left, sum, path_sum);        preOder(root.right, sum, path_sum);    }}
原创粉丝点击