965. 单值二叉树

如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。

只有给定的树是单值二叉树时,才返回 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);
    }

}

 

posted @ 2021-04-29 09:34  kpwong  阅读(54)  评论(0编辑  收藏  举报