Skip to content

Commit 267d4e8

Browse files
author
rchen102
committed
tree
1 parent f5ec662 commit 267d4e8

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

Java/leetcode 958.java

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
class Solution {
2+
public boolean isCompleteTree(TreeNode root) {
3+
if (root == null) return true;
4+
Queue<TreeNode> queue = new LinkedList<>();
5+
queue.offer(root);
6+
int prevShould = 1;
7+
int prev = -1;
8+
while (!queue.isEmpty()) {
9+
int size = queue.size();
10+
if (prev > 0) {
11+
if (prev != prevShould) return false;
12+
prevShould *= 2;
13+
}
14+
prev = size;
15+
16+
boolean start = false;
17+
for (int i = 0; i < size; i++) {
18+
TreeNode cur = queue.poll();
19+
if (cur != null) {
20+
if (start) return false;
21+
queue.offer(cur.left);
22+
queue.offer(cur.right);
23+
}
24+
else {
25+
start = true;
26+
}
27+
}
28+
}
29+
return true;
30+
}
31+
}

0 commit comments

Comments
 (0)