Java代码 给出一个二叉树和一个数,判断该二叉树是否存在一个从根节点到叶节点的和与给出的数相同
2015-05-15 08:59
513 查看
从菜鸟到大牛一定要戒骄戒躁,沉下心来慢慢打磨自己!
这个题目的算法思想分为三种情况:
case1树为空时,返回false
case2 树只有一个根节点
case3 正常情况下的树
Java代码如下:
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
public class Solution {
public boolean hasPathSum(TreeNode root, int sum) {
//case1 the tree is null
if(root==null)return false;
//case2 the tree has only one node
sum=sum-root.val;
if((root.left==null)&&(root.right==null))return sum==0;
//case3 nomal case
return hasPathSum(root.left,sum)||hasPathSum(root.right,sum);
}
}
这个题目的算法思想分为三种情况:
case1树为空时,返回false
case2 树只有一个根节点
case3 正常情况下的树
Java代码如下:
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
public class Solution {
public boolean hasPathSum(TreeNode root, int sum) {
//case1 the tree is null
if(root==null)return false;
//case2 the tree has only one node
sum=sum-root.val;
if((root.left==null)&&(root.right==null))return sum==0;
//case3 nomal case
return hasPathSum(root.left,sum)||hasPathSum(root.right,sum);
}
}
相关文章推荐
- 用Java代码写一个判断两个二叉树是否相同
- 有一个二叉树,现在怀疑它有一个结点有2个父节点,请写出一个函数来判断该二叉树是否存在一个节点含有2个父节点。如果存在,返回true,否则返回false。
- 【JAVA基础】0012--------判断String类型的XML中是否存在某一个节点
- Java总哈希表的运用,判断一个数组中是否存在相同的元素之间的距离在k以内!
- 有一个二叉树,现在怀疑它有一个结点有2个父节点,请写出一个函数来判断该二叉树是否存在一个节点含有2个父节点。如果存在,返回true,否则返回false。
- day12之判断一棵二叉树是否是平衡二叉树+求一颗二叉树的镜像+判断一个数在二维数组中是否存在
- 怎么写好一个判断是否存在数据的代码?
- day14之判断一个节点是否在一棵二叉树中+判断一颗二叉树是是否是另一颗树的子树
- 二叉树--判断一个节点是否在一棵二叉树中。
- 【二叉树】树的子结构/判断一个节点是否在二叉树中
- 面试题:判断一个节点是否在一棵二叉树中
- 判断一个节点是否在一棵二叉树中和判断一颗二叉树是否是另一颗树的子树——题集(十二)
- 【判断一个节点是否在一棵二叉树中】/【判断一颗二叉树是是否是另一颗树的子树】
- 每日一题之判断一个节点是否在一棵二叉树中
- 判断一个节点是否在一棵二叉树中
- 判断一个节点是否在一棵二叉树中&判断一颗二叉树是是否是另一颗树的子树
- 判断一个节点是否在一棵二叉树中
- 判断一个节点是否在二叉树中,判断tree2是否为tree1的子树
- 判断一个节点是否在一棵二叉树中&&判断一颗二叉树是是否是另一颗树的子树
- 判断一个节点是否在一棵二叉树中