File tree Expand file tree Collapse file tree 2 files changed +48
-27
lines changed Expand file tree Collapse file tree 2 files changed +48
-27
lines changed Original file line number Diff line number Diff line change 8
8
* }
9
9
*/
10
10
class Solution {
11
-
12
- public List <TreeNode > list = new ArrayList <>();
13
- public TreeNode increasingBST (TreeNode root ) {
14
- inorderTraversal (root );
15
-
16
- if (list .size () == 0 ) return null ;
17
-
18
- TreeNode ans = list .get (0 );
19
- TreeNode curr = ans ;
20
-
21
- for (int i =1 ; i <list .size (); i ++) {
22
- curr .right = list .get (i );
23
- curr .left = null ;
24
- curr = curr .right ;
25
- }
26
-
27
- curr .left = null ;
28
-
29
- return ans ;
30
- }
31
-
32
- public void inorderTraversal (TreeNode root ) {
33
- if (root == null ) return ;
34
-
35
- inorderTraversal (root .left );
36
- list .add (root );
37
- inorderTraversal (root .right );
11
+ TreeNode curr ;
12
+ public TreeNode increasingBST (TreeNode root ) {
13
+ TreeNode ans = new TreeNode (-1 );
14
+ curr = ans ;
15
+ inorder (root );
16
+ return ans .right ;
17
+ }
18
+
19
+ private void inorder (TreeNode node ) {
20
+ if (node == null ) {
21
+ return ;
38
22
}
23
+ inorder (node .left );
24
+ node .left = null ;
25
+ curr .right = node ;
26
+ curr = node ;
27
+ inorder (node .right );
28
+ }
39
29
}
Original file line number Diff line number Diff line change
1
+ /**
2
+ * Definition for a binary tree node.
3
+ * public class TreeNode {
4
+ * int val;
5
+ * TreeNode left;
6
+ * TreeNode right;
7
+ * TreeNode(int x) { val = x; }
8
+ * }
9
+ */
10
+ class Solution {
11
+ public boolean leafSimilar (TreeNode root1 , TreeNode root2 ) {
12
+ List <Integer > leaf1 = new ArrayList <>();
13
+ List <Integer > leaf2 = new ArrayList <>();
14
+ populateLeaves (root1 , leaf1 );
15
+ populateLeaves (root2 , leaf2 );
16
+ return leaf1 .equals (leaf2 );
17
+ }
18
+
19
+ private void populateLeaves (TreeNode root , List <Integer > list ) {
20
+ if (root == null ) {
21
+ return ;
22
+ }
23
+ if (root .left == null && root .right == null ) {
24
+ list .add (root .val );
25
+ }
26
+ else {
27
+ populateLeaves (root .left , list );
28
+ populateLeaves (root .right , list );
29
+ }
30
+ }
31
+ }
You can’t perform that action at this time.
0 commit comments