單值二叉樹【簡單】
如果二叉樹每個節(jié)點都具有相同的值,那么該二叉樹就是單值二叉樹。
只有給定的樹是單值二叉樹時,才返回 true
柑土;否則返回 false
。
示例 1:
輸入:[1,1,1,1,1,null,1]
輸出:true
示例 2:
輸入:[2,2,2,5,2]
輸出:false
提示:
- 給定樹的節(jié)點數(shù)范圍是
[1, 100]
绊汹。 - 每個節(jié)點的值都是整數(shù)稽屏,范圍為
[0, 99]
。
解題思路
滿足單值二叉樹就是要所有的節(jié)點的值為同樣的一個值或者為空西乖。所以就只需要寫一個循環(huán)將二叉樹所有的節(jié)點的值都遍歷出來狐榔,不滿足條件就直接返回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)