题解 | #判断是不是完全二叉树#(队列+层次遍历)

判断是不是完全二叉树

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

class Solution {
public:
    /**
    层次遍历
     */
    bool isCompleteTree(TreeNode* root) {
        // write code here
        if(root==NULL) return true;
        queue<TreeNode*> qu;
        qu.push(root);
        while(!qu.empty()){
            TreeNode* tmp = qu.front();
            qu.pop();
            if(tmp==NULL) break;  // 已经有空节点 跳出循环
            qu.push(tmp->left);
            qu.push(tmp->right);
        }
        while(!qu.empty()){  // 如果队列中还有非空节点
            TreeNode* tmp = qu.front();
            qu.pop();
            if(tmp) return false; // 则不是完全二叉树
        }
        return true;
    }
};
全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 18:33
点赞 评论 收藏
分享
05-12 16:04
已编辑
江西财经大学 Java
点赞 评论 收藏
分享
刘湘_passion:太强了牛肉哥有被激励到
点赞 评论 收藏
分享
面试了几家,全程问项目,八股一点都不问,可惜准备了这么久
独角仙梦境:现在感觉问八股像是中场休息一样的,问几个八股放松一下再上强度
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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