File tree 2 files changed +64
-2
lines changed
src/main/java/org/sean/tree 2 files changed +64
-2
lines changed Original file line number Diff line number Diff line change 1
- package org .sean .tree ;public class EvenOddTree {
1
+ package org .sean .tree ;
2
+
3
+ import java .util .LinkedList ;
4
+ import java .util .Queue ;
5
+
6
+ /***
7
+ * 1609. Even Odd Tree
8
+ */
9
+ public class EvenOddTree {
10
+ public boolean isEvenOddTree (TreeNode root ) {
11
+ if (root == null ) return false ;
12
+ if (root .left == null && root .right == null ) return root .val % 2 == 1 ;
13
+
14
+ int level = 0 ;
15
+ Queue <TreeNode > queue = new LinkedList <>();
16
+ queue .add (root );
17
+
18
+ while (!queue .isEmpty ()) {
19
+ int cnt = queue .size ();
20
+
21
+ boolean ascent = level % 2 == 0 ;
22
+ int last = -1 ;
23
+ for (int i = 0 ; i < cnt ; i ++) {
24
+ TreeNode node = queue .poll ();
25
+ // System.out.print(" " + node.val);
26
+
27
+ if (node != null ) {
28
+ if (ascent ) {
29
+ if (last > 0 && last >= node .val || node .val % 2 == 0 ) return false ;
30
+ last = node .val ;
31
+ } else {
32
+ if (last > 0 && last <= node .val || node .val % 2 == 1 ) return false ;
33
+ last = node .val ;
34
+ }
35
+
36
+ if (node .left != null ) queue .add (node .left );
37
+ if (node .right != null ) queue .add (node .right );
38
+ }
39
+ }
40
+ ++level ;
41
+
42
+ // System.out.println("");
43
+ }
44
+
45
+ return true ;
46
+ }
2
47
}
Original file line number Diff line number Diff line change 1
- package org .sean .tree ;public class NodeCleaner {
1
+ package org .sean .tree ;
2
+
3
+ /***
4
+ * 1325. Delete Leaves With a Given Value
5
+ */
6
+ public class NodeCleaner {
7
+ public TreeNode removeLeafNodes (TreeNode root , int target ) {
8
+ if (root == null ) return null ;
9
+
10
+ if (root .left == null && root .right == null && root .val == target ) return null ;
11
+
12
+ root .left = removeLeafNodes (root .left , target );
13
+ root .right = removeLeafNodes (root .right , target );
14
+
15
+ if (root .left == null && root .right == null && root .val == target ) root = null ;
16
+
17
+ return root ;
18
+ }
2
19
}
You can’t perform that action at this time.
0 commit comments