112. Path Sum
2016-09-17 14:24
351 查看
Given 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 and
return true, as there exist a root-to-leaf path
是否存在一条二叉树的路径和等于给定值:
public class Solution {
int sumn=0;
int value=0;
public boolean hasPathSum(TreeNode root, int sum) {
sumn=sum;
if(root==null) return false;
return preorder(root);
}
public boolean preorder(TreeNode root){
value+=root.val;
boolean b=false;
if(root.left==null&&root.right==null)
{if(value==sumn) b= true; //到达叶子节点
}
else if(root.left==null&&root.right!=null)
b= preorder(root.right); //遍历右子树
else if (root.left!=null&&root.right==null)
b= preorder(root.left); //遍历左子树
else b= preorder(root.left)||preorder(root.right); //继续遍历左右子树
value-=root.val; //查找其他路径时把这个节点的值减去,相当于此步不符合要求,回退到上一步
return b;
}
}
For example:
Given the below binary tree and
sum = 22,
5 / \ 4 8 / / \ 11 13 4 / \ \ 7 2 1
return true, as there exist a root-to-leaf path
5->4->11->2which sum is 22.
是否存在一条二叉树的路径和等于给定值:
public class Solution {
int sumn=0;
int value=0;
public boolean hasPathSum(TreeNode root, int sum) {
sumn=sum;
if(root==null) return false;
return preorder(root);
}
public boolean preorder(TreeNode root){
value+=root.val;
boolean b=false;
if(root.left==null&&root.right==null)
{if(value==sumn) b= true; //到达叶子节点
}
else if(root.left==null&&root.right!=null)
b= preorder(root.right); //遍历右子树
else if (root.left!=null&&root.right==null)
b= preorder(root.left); //遍历左子树
else b= preorder(root.left)||preorder(root.right); //继续遍历左右子树
value-=root.val; //查找其他路径时把这个节点的值减去,相当于此步不符合要求,回退到上一步
return b;
}
}
相关文章推荐
- bzoj 2456: mode(找众数)
- vagrant 环境配置以及常用命令
- 解决MySQL ERROR 1130 (HY000): Host 'XXXX' is not allowed to connect to this MySQL server
- 媒体查询-手机尺寸参考
- 爬虫, 从python2 到 python3
- 如何划分man文档的章节
- python脚本退出后 不应该为负值
- ImageLoader 介绍
- mac中配置hadoop常见问题
- python脚本退出后 不应该为负值
- P1896 [SCOI2005]互不侵犯King
- javascript checkbox作为开关,控制全选和全不选的动态关联实现
- Android菜单选项
- PHP数据库基础操作
- 另类电商年收入上亿美金
- 给 Android 开发者的 RxJava 详解
- LAMP平台下搭建论坛和博客系统
- 系统吞吐量、TPS(QPS)、用户并发量、性能测试概念和公式(转)
- Xshell ssh长时间连接不掉线设置
- GNU复合语句