1. 程式人生 > >Leetcode965. Univalued Binary Tree單值二叉樹

Leetcode965. Univalued Binary Tree單值二叉樹

如果二叉樹每個節點都具有相同的值,那麼該二叉樹就是單值二叉樹。

只有給定的樹是單值二叉樹時,才返回 true;否則返回 false。

 

示例 1:

輸入:[1,1,1,1,1,null,1] 輸出:true

示例 2:

輸入:[2,2,2,5,2] 輸出:false

 

提示:

  1. 給定樹的節點數範圍是 [1, 100]。
  2. 每個節點的值都是整數,範圍為 [0, 99] 。

 

class Solution {
public:
    int val = -1;
    bool isUnivalTree(TreeNode* root) 
    {
        if(root == NULL)
            return true;
        if(val < 0)
        {
            val = root ->val;
            return isUnivalTree(root ->left) && isUnivalTree(root ->right);
        }
        else if(val != root ->val)
        {
            return false;
        }
        return isUnivalTree(root ->left) && isUnivalTree(root ->right);
    }
};