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

判断是不是完全二叉树

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;
    }
};
全部评论

相关推荐

预计下个星期就能开奖吧,哪位老哥来给个准信
华孝子爱信等:对接人上周说的是这周
投递华为等公司10个岗位 >
点赞 评论 收藏
分享
10-11 17:45
门头沟学院 Java
走吗:别怕 我以前也是这么认为 虽然一面就挂 但是颇有收获!
点赞 评论 收藏
分享
10-28 15:45
门头沟学院 C++
西南山:海康威视之前不是大规模裁员吗
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务