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

Linus脱袜子
183 声望63 粉丝

硕士研究生在读。