力扣(LeetCode)965

Linus脫襪子發表於2019-01-19

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

相關文章