Skip to content

Commit 6b0ffff

Browse files
authored
Update Check Completeness of a Binary Tree.java
1 parent 90e405c commit 6b0ffff

File tree

1 file changed

+14
-20
lines changed

1 file changed

+14
-20
lines changed

Medium/Check Completeness of a Binary Tree.java

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -15,27 +15,21 @@
1515
*/
1616
class Solution {
1717
public boolean isCompleteTree(TreeNode root) {
18-
List<HelperNode> nodes = new ArrayList<>();
19-
nodes.add(new HelperNode(root, 1));
20-
int idx = 0 ;
21-
while (idx < nodes.size()) {
22-
HelperNode hnode = nodes.get(idx++);
23-
if (hnode.node != null) {
24-
nodes.add(new HelperNode(hnode.node.left, 2 * hnode.level));
25-
nodes.add(new HelperNode(hnode.node.right, 2 * hnode.level + 1));
18+
Queue<TreeNode> queue = new LinkedList<>();
19+
queue.add(root);
20+
boolean end = false;
21+
while (!queue.isEmpty()) {
22+
TreeNode removed = queue.poll();
23+
if (removed == null) {
24+
end = true;
25+
} else {
26+
if (end) {
27+
return false;
28+
}
29+
queue.add(removed.left);
30+
queue.add(removed.right);
2631
}
2732
}
28-
return nodes.get(idx - 1).level == nodes.size();
29-
}
30-
}
31-
32-
33-
class HelperNode {
34-
TreeNode node;
35-
int level;
36-
37-
public HelperNode(TreeNode node, int level) {
38-
this.node = node;
39-
this.level = level;
33+
return true;
4034
}
4135
}

0 commit comments

Comments
 (0)