如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。
只有给定的树是单值二叉树时,才返回 true;否则返回 false。
public boolean isUnivalTree(TreeNode root) {//BFS框架
boolean flag =true;
if (root == null) return true;
int tmp = root.val;
Queue<TreeNode> queue = new LinkedList<>();
queue.add(root);
while (!queue.isEmpty()){
TreeNode node = queue.poll();
if (node.val != tmp) flag = false;
if (node.left != null) queue.add(node.left);
if (node.right != null) queue.add(node.right);
}
return flag;
}
boolean flag =true;
public boolean isUnivalTree(TreeNode root) {
if (root == null) return true;
int tmp = root.val;
dfs(root,tmp);
return flag;
}
void dfs(TreeNode root,int tmp){//DFS
if (root == null) return ;
if (root.val != tmp) flag = false;
if (root.left != null) dfs(root.left,tmp);
if (root.right != null) dfs(root.right,tmp);
}