leetcode 965 Univalued Binary Tree
1.题目描述
如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。
只有给定的树是单值二叉树时,才返回 true
;否则返回 false
。
示例1:
Input: [1,1,1,1,1,null,1]
Output: true
提示:
给定树的节点数范围是 [1, 100]。
每个节点的值都是整数,范围为 [0, 99] 。
2.解题思路
利用深度优先搜索,将数组变为集合后,检查值是否只有一个。
3.Python代码
class Solution:
def isUnivalTree(self, root):
"""
:type root: TreeNode
:rtype: bool
"""
vals=[]
def dfs(node):
if node:
vals.append(node.val)
dfs(node.left)
dfs(node.right)
dfs(root)
return len(set(vals))==1