1. 题目原址
https://leetcode.com/problems/univalued-binary-tree/
2. 题目描述
3. 题目大意
给定一个二叉树,如果这个二叉树中的所有元素都相同则返回true,否则返回false
4. 解题思路
- 需要进行递归处理,首先传入二叉树的根节点,和根节点对应的值 val。
- 每次递归都判断对应的结点和val 是否相等,一旦不相等,就要返回 false
5. AC 代码
class Solution {
public boolean isUnivalTree(TreeNode root) {
return (root == null) || isValid(root,root.val);
}
private boolean isValid(TreeNode root, Integer val) {
if(root == null) return true;
if(root.val != val) return false;
return isValid(root.left,val) && isValid(root.right,val);
}
}