您的位置:首页 > 其它

查看一颗二叉树的每个节点的值是否都是其左右两个孩子节点值的和

2014-06-30 12:51 281 查看


package tree;

public class SumProperty {

/**
* 查看一颗二叉树的每个节点的值是否都是其左右两个孩子节点值的和
* 当有一个孩子节点为空时,节点值为0
* @param args
*/
public static boolean issumproperty(TreeNode root){
if(root==null||(root.left==null&&root.right==null)){//这个条件不能落下
return true;
}
if(root.value==getvalue(root.left)+getvalue(root.right)){
return issumproperty(root.left)&&issumproperty(root.right);
}
return false;
}
private static int getvalue(TreeNode root) {
if(root==null) return 0;
return root.value;
}
public static void main(String[] args) {

TreeNode root = new TreeNode(10);
root.left = new TreeNode(5);
root.right = new TreeNode(2);
root.left.left = new TreeNode(3);
root.left.right = new TreeNode(5);
root.right.left = new TreeNode(2);
System.out.println(issumproperty(root));

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐