# 965. Univalued Binary Tree

**<font color=red>难度: Easy</font>**

## 刷题内容

> 原题连接

* https://leetcode.com/problems/univalued-binary-tree/

> 内容描述

```
A binary tree is univalued if every node in the tree has the same value.

Return true if and only if the given tree is univalued.

 

Example 1:


Input: [1,1,1,1,1,null,1]
Output: true
Example 2:


Input: [2,2,2,5,2]
Output: false
 

Note:

The number of nodes in the given tree will be in the range [1, 100].
Each node's value will be an integer in the range [0, 99].
```

## 解题方案

> 思路 1
******- 时间复杂度: O(N)******- 空间复杂度: O(N)******

递归，sb题没什么好说的

```python
class Solution:
    def isUnivalTree(self, root):
        """
        :type root: TreeNode
        :rtype: bool
        """
        if not root:
            return True
        
        self.nodes = set()
        def helper(root):
            self.nodes.add(root.val)
            if root.left:
                helper(root.left)
            if root.right:
                helper(root.right)
                
        helper(root)
        return len(self.nodes) == 1
```































