如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。
只有给定的树是单值二叉树时,才返回 true
;否则返回 false
。
示例 1:
输入:[1,1,1,1,1,null,1] 输出:true
示例 2:
输入:[2,2,2,5,2] 输出:false
解法:遍历二叉树,节点值放入Set集合中,如果set中值为1 返回true,不为1返回false
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ import java.util.HashSet; import java.util.Set; class Solution { Set set = new HashSet(); public boolean isUnivalTree(TreeNode root) { helper(root); if(set.size() == 1) { return true; } else { return false; } } public void helper(TreeNode root) { if(root == null) return; helper(root.left); set.add(root.val); helper(root.right); } }