File tree Expand file tree Collapse file tree 1 file changed +36
-0
lines changed Expand file tree Collapse file tree 1 file changed +36
-0
lines changed Original file line number Diff line number Diff line change 1+ /*_____________________________
2+ Time Complexity: O(n)
3+ Space Complexity: O(n)
4+ _______________________________*/
5+
6+ class Solution {
7+ public boolean isEvenOddTree (TreeNode root ) {
8+ Queue <TreeNode > q = new LinkedList <>();
9+ q .add (root );
10+ boolean evenLevel = true ;
11+
12+ while (!q .isEmpty ()){
13+ int prev = (evenLevel )? Integer .MIN_VALUE : Integer .MAX_VALUE ;
14+ int sz = q .size ();
15+
16+ for (int i = 0 ; i < sz ; i ++){
17+ TreeNode curr = q .poll ();
18+ int nodeVal = curr .val ;
19+
20+ if ((evenLevel && nodeVal % 2 == 0 ) || (!evenLevel && nodeVal % 2 != 0 ))
21+ return false ;
22+ if ((evenLevel && nodeVal <= prev ) || (!evenLevel && nodeVal >= prev ))
23+ return false ;
24+
25+ prev = nodeVal ;
26+
27+ if (curr .left != null )
28+ q .add (curr .left );
29+ if (curr .right != null )
30+ q .add (curr .right );
31+ }
32+ evenLevel = !evenLevel ;
33+ }
34+ return true ;
35+ }
36+ }
You can’t perform that action at this time.
0 commit comments