- 题目描述
- 思路
- DFS
- Python实现
- Java实现
题目描述
单值二叉树
思路 DFS
深度优先搜索遍历树,存储根结点值,如果遇到一个不同的结点值则返回false,当遍历完成,返回true。
Python实现class Solution:
def isUnivalTree(self, root: TreeNode) -> bool:
if not root:
return True
if root.left:
if root.val != root.left.val or not self.isUnivalTree(root.left):
return False
if root.right:
if root.val != root.right.val or not self.isUnivalTree(root.right):
return False
return True
Java实现
class Solution {
public boolean isUnivalTree(TreeNode root) {
if (root == null) {
return true;
}
if (root.left != null) {
if (root.val != root.left.val || !isUnivalTree(root.left)) {
return false;
}
}
if (root.right != null) {
if (root.val != root.right.val || !isUnivalTree(root.right)) {
return false;
}
}
return true;
}
}



