Skip to content

Commit 4069c14

Browse files
add 1609
1 parent 5c341aa commit 4069c14

File tree

2 files changed

+54
-0
lines changed

2 files changed

+54
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ _If you like this project, please leave me a star._ ★
88

99
| # | Title | Solutions | Video | Difficulty | Tag
1010
|-----|----------------|---------------|--------|-------------|-------------
11+
|1609|[Even Odd Tree](https://leetcode.com/problems/even-odd-tree/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_1609.java) ||Medium|Tree|
1112
|1608|[Special Array With X Elements Greater Than or Equal X](https://leetcode.com/problems/special-array-with-x-elements-greater-than-or-equal-x/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_1608.java) ||Easy|Array|
1213
|1604|[Alert Using Same Key-Card Three or More Times in a One Hour Period](https://leetcode.com/problems/alert-using-same-key-card-three-or-more-times-in-a-one-hour-period/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_1604.java) ||Medium|String, Ordered Map|
1314
|1603|[Design Parking System](https://leetcode.com/problems/design-parking-system/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_1603.java) ||Easy|Design|
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
package com.fishercoder.solutions;
2+
3+
import com.fishercoder.common.classes.TreeNode;
4+
5+
import java.util.ArrayList;
6+
import java.util.LinkedList;
7+
import java.util.List;
8+
import java.util.Queue;
9+
10+
public class _1609 {
11+
public static class Solution1 {
12+
public boolean isEvenOddTree(TreeNode root) {
13+
Queue<TreeNode> queue = new LinkedList<>();
14+
queue.offer(root);
15+
int level = 0;
16+
while (!queue.isEmpty()) {
17+
int size = queue.size();
18+
List<Integer> list = new ArrayList<>();
19+
for (int i = 0; i < size; i++) {
20+
TreeNode node = queue.poll();
21+
list.add(node.val);
22+
if (node.left != null) {
23+
queue.add(node.left);
24+
}
25+
if (node.right != null) {
26+
queue.add(node.right);
27+
}
28+
}
29+
if (level % 2 == 0) {
30+
for (int i = 0; i < list.size(); i++) {
31+
if (list.get(i) % 2 == 0) {
32+
return false;
33+
}
34+
if (i < list.size() - 1 && list.get(i) >= list.get(i + 1)) {
35+
return false;
36+
}
37+
}
38+
} else {
39+
for (int i = 0; i < list.size(); i++) {
40+
if (list.get(i) % 2 != 0) {
41+
return false;
42+
}
43+
if (i < list.size() - 1 && list.get(i) <= list.get(i + 1)) {
44+
return false;
45+
}
46+
}
47+
}
48+
level++;
49+
}
50+
return true;
51+
}
52+
}
53+
}

0 commit comments

Comments
 (0)