题目如下:
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: trueExample 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]
.
解题思路:送分题。
代码如下:
# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution(object): def recursive(self,node,v): if node.val != v: return False r1 = r2 = True if node.left != None: r1 = self.recursive(node.left,v) if node.right != None: r2 = self.recursive(node.right,v) return r1 and r2 def isUnivalTree(self, root): """ :type root: TreeNode :rtype: bool """ if root == None: return True return self.recursive(root,root.val)