如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。
只有给定的树是单值二叉树时,才返回 true;否则返回 false。
示例 1:
输入:[1,1,1,1,1,null,1]
输出:true
示例 2:
输入:[2,2,2,5,2]
输出:false
可以定义一个成员变量,然后利用遍历二叉树算法辅助进行判断:
boolean isUnival = true;
int val;
public boolean isUnivalTree(TreeNode root) {
if (root == null) {
return false;
}
val = root.val;
order(root);
return isUnival;
}
private void order(TreeNode node) {
if (node == null) {
return;
}
if (node.val != val) {
isUnival = false;
}
order(node.left);
order(node.right);
}
前序遍历,中序遍历,后序遍历,层次遍历等都可以