题解 | #判断是不是完全二叉树#

判断是不是完全二叉树

https://www.nowcoder.com/practice/8daa4dff9e36409abba2adbe413d6fae

//大体思路:一个节点如果不为空,则他的左右节点一定会入队,一旦节点为空,就检查后面的所有节点,,如果后面的所有节点都为空,就意味着这个空节点是这个数的新的一行的第一个,或者前面的节点左右儿子都为空!
bool isCompleteTree(struct TreeNode* root ) {
    if(!root) return true;
    struct TreeNode* queue[201];
    int front=0,rear=0;
    queue[rear++]=root;
    while(front<rear) {
        struct TreeNode* node=queue[front++];
        if(!node) {
            while(front<rear) {
                if(queue[front++]) return false;
            }
            return true;
        }
        queue[rear++]=node->left;
        queue[rear++]=node->right;
    }
    return true;
}

全部评论

相关推荐

10-09 17:17
已编辑
门头沟学院 Java
活泼的代码渣渣在泡池...:同学你好,我也是学院本,后天要面这个亚信科技,是实习,请问问题都啥样呀,我项目就做了网上的,这是第一次面试
投递多益网络等公司10个岗位
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
08-20 19:41
那一天的Java_J...:简历完全流水账,学生思维很严重,还有很大的优化空间,可以多看看牛客的简历。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务