解題思路
所謂 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;
}
};
沒有留言:
張貼留言