判断完全二叉树之《剩余队列判空法》

直接上代码:跟二叉树的层序遍历有相似之处。

bool IsFullTree(TreeNode* root)
{
    queue<TreeNode*>q;
    q.push(root);
    TreeNode* front = NULL;

    front=q.front();
    //队列中第一个节点为空跳出
    while (front)
    {
        q.push(front->left);
        q.push(front->right);
        q.pop();

         front= q.front()
    }
    while (!q.empty())
    {
    //第一个空节点之后的节点不为空,则返回
        if (q.front() != NULL)
            return false;
        q.pop();
    }
    return true;
}

发布了34 篇原创文章 · 获赞 109 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/huihui1094667985/article/details/103427875