如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。
只有给定的树是单值二叉树时,才返回 true;否则返回 false。
示例 1:
输入:[1,1,1,1,1,null,1] 输出:true
示例 2:
输入:[2,2,2,5,2] 输出:false
=====================================================================================
使用递归,循环判断根是不是等于左右节点。
代码:
public static void main(String[] args) {
TreeNode node = new TreeNode(2);
node.left = new TreeNode(2);
node.left.left = new TreeNode(2);
node.right = new TreeNode(2);
node.right.left = new TreeNode(2);
System.out.println(isUnivalTree(node));
}
public static boolean isUnivalTree(TreeNode root) {
if(root == null){
return true;
}
boolean b = true;
if(root.left != null){
if(root.val == root.left.val){
b = isUnivalTree(root.left)&&b;
}else{
return false;
}
}
if(root.right != null){
if(root.val == root.right.val){
b = isUnivalTree(root.right)&&b;
}else{
return false;
}
}
return b;
}