Skip to content

Latest commit

 

History

History
96 lines (42 loc) · 1.16 KB

0965._Univalued_Binary_Tree.md

File metadata and controls

96 lines (42 loc) · 1.16 KB

965. Univalued Binary Tree

难度: Easy

刷题内容

原题连接

内容描述

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题没什么好说的

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