class Solution {
public:
bool isCompleteTree(TreeNode* root) {
queue<TreeNode*> node_q;
node_q.push(root);
bool expect_null = false;
while (!node_q.empty()) {
if (node_q.front() == nullptr)
expect_null = true;
else {
if (expect_null)
return false;
else {
node_q.push(node_q.front()->left);
node_q.push(node_q.front()->right);
}
}
node_q.pop();
}
return true;
}
};
观察易得,完全二叉树的层序遍历一定是(全是节点 + 全是NULL)的样式。
判断层序遍历结果即可。

京公网安备 11010502036488号