题目
如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。
只有给定的树是单值二叉树时,才返回 true;否则返回 false。
思路
先把根节点值取出来,记录
然后递归遍历左右子树
每次遍历到一个节点
就比较当前节点的值和根节点的值是否一致
不一致就false
然后递归左右子树
两个子树都是true才返回true
有一个是false就说明不一致
不是单色树
代码
var isUnivalTree = function(root) {
const target = root.val;
function dfs(node){
if(node === null)return true;
if(node.val !== target)return false;
return dfs(node.left) && dfs(node.right);
}
return dfs(root);
};