题目地址:
https://leetcode-cn.com/probl…
题目描述:
如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。
只有给定的树是单值二叉树时,才返回 true;否则返回 false。
解答:
深度优先搜索这个二叉树,和根值进行比较,若都相同则返回true,否则返回false。
java ac代码:
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
int std;
boolean ans = true;
public boolean isUnivalTree(TreeNode root) {
if(root == null)return true;
std = root.val;
dfs(root);
return ans;
}
void dfs(TreeNode root)
{
if(root == null)return;
if(root.val != std)ans = false;
dfs(root.left);
dfs(root.right);
}
}