本文最后更新于:2023年3月19日 晚上
                
              
            
            
              Lt965. 单值二叉树
如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。
只有给定的树是单值二叉树时,才返回 true;否则返回 false。
 示例 1:

1 2
   | 输入:[1,1,1,1,1,null,1] 输出:true
 
  | 
 
示例 2:

提示:
- 给定树的节点数范围是 
[1, 100]。 
- 每个节点的值都是整数,范围为 
[0, 99] 。 
思路
递归即可,如果为叶子节点返回 true,如果只有左或右孩子,判断当前节点和左、右孩子节点值是否相等,再递归判断左、右孩子。如果左右孩子皆有,判断当前欠点和左及右孩子节点值是否相等,再递归判断左和右孩子。
解答

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
   | 
 
 
 
 
 
 
 
 
 
  var isUnivalTree = function (root) {   if (!root || (!root.left && !root.right)) return true;   if (!root.left)     return root.val === root.right.val && isUnivalTree(root.right);   else if (!root.right)     return root.val === root.left.val && isUnivalTree(root.left);   else     return (       root.val === root.left.val &&       root.val === root.right.val &&       isUnivalTree(root.left) &&       isUnivalTree(root.right)     ); };
 
  |