題目地址:
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);
}
}