题目
思路
- 感觉用队列做会方便一点,虽然思考了一下用深度遍历也可以。
- 第一次这么快自己做出来,还是二叉树爱我呀…
代码
public boolean isCompleteTree(TreeNode root) {
Queue<TreeNode> queue = new LinkedList<TreeNode>();
queue.offer(root);
while (!queue.isEmpty()){
TreeNode node =queue.poll();
if(node.val==-1){
while (!queue.isEmpty()){
TreeNode temp = queue.poll();
if(temp.val!=-1) return false;
}
return true;
}
if(node.left==null) queue.offer(new TreeNode(-1));
else queue.offer(node.left);
if(node.right==null) queue.offer(new TreeNode(-1));
else queue.offer(node.right);
}
return true;
}