2023年3月15日 星期三

958. Check Completeness of a Binary Tree

解題思路

所謂 complete 的意思是,node 盡可能地滿,只會在最右下方有 null。這代表一旦有 null 出現,後面一定都不會再有 node。利用這樣的特性去 traverse 整棵樹。

程式碼

class Solution {
public:
    bool isCompleteTree(TreeNode* root) {
        queue<TreeNode*> q;
        q.push(root);

        bool flag = false;
        while(!q.empty())
        {
            TreeNode* node = q.front();
            q.pop();

            if(node == nullptr)
                flag = true;
            else if(flag)
                return false;
            else
            {
                q.push(node->left);
                q.push(node->right);
            }
            
        }
        return true;
    }
};

沒有留言:

張貼留言