public class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) { val = x; }
}
class Solution {
public boolean isCompleteTree(TreeNode root) {
if(root==null)
return false;
Queue<TreeNode> qu = new LinkedList<>();
qu.add(root);
TreeNode leftLeaf;
TreeNode rightLeaf;
boolean flag = false;
while(!qu.isEmpty()){
TreeNode tmp = qu.poll();
leftLeaf = tmp.left;
rightLeaf = tmp.right;
if(rightLeaf!=null&&leftLeaf==null)
return false;
if(flag&&(leftLeaf!=null||rightLeaf!=null))
return false;
if(leftLeaf!=null)
qu.add(leftLeaf);
if(rightLeaf!=null)
qu.add(rightLeaf);
else
flag = true;
}
return true;
}
}