We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent dd0ec90 commit cfb0cdfCopy full SHA for cfb0cdf
kotlin/1609-even-odd-tree.kt
@@ -0,0 +1,28 @@
1
+class Solution {
2
+ fun isEvenOddTree(root: TreeNode?): Boolean {
3
+ val q = LinkedList<TreeNode?> ().apply { addLast(root) }
4
+ var even = true
5
+
6
+ while (q.isNotEmpty()) {
7
+ var prev = if (isEven) Integer.MIN_VALUE else Integer.MAX_VALUE
8
9
+ repeat (q.size) {
10
+ val node = q.removeFirst()!!
11
12
+ if (even && (node.`val` % 2 == 0 || node.`val` <= prev))
13
+ return false
14
+ else if (!even && (node.`val` % 2 == 1 || node.`val` >= prev))
15
16
17
+ prev = node.`val`
18
19
+ node.left?.let { q.addLast(it) }
20
+ node.right?.let { q.addLast(it) }
21
+ }
22
23
+ even = !even
24
25
26
+ return true
27
28
+}
0 commit comments