题目如下:
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]
.
解题思路:送分题。
代码如下:
# Definition for a binary tree node. # class TreeNode(object): # def __init__(self, x): # self.val = x # self.left = None # self.right = None class 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)