單值二叉樹【簡單】
如果二叉樹每個節(jié)點(diǎn)都具有相同的值,那么該二叉樹就是單值二叉樹。
只有給定的樹是單值二叉樹時,才返回 true;否則返回 false。
示例 1:

img
輸入:[1,1,1,1,1,null,1]
輸出:true
示例 2:

img
輸入:[2,2,2,5,2]
輸出:false
提示:
- 給定樹的節(jié)點(diǎn)數(shù)范圍是
[1, 100]。 - 每個節(jié)點(diǎn)的值都是整數(shù),范圍為
[0, 99]。
解題思路
滿足單值二叉樹就是要所有的節(jié)點(diǎn)的值為同樣的一個值或者為空。所以就只需要寫一個循環(huán)將二叉樹所有的節(jié)點(diǎn)的值都遍歷出來,不滿足條件就直接返回false。代碼如下:
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def isUnivalTree(self, root):
"""
:type root: TreeNode
:rtype: bool
"""
def dfs(root,val):
if not root:
return True
if root.val != val:
return False
return dfs(root.left,val) and dfs(root.right,val)
return dfs(root,root.val)