Skip to content

Commit 8c852c3

Browse files
committed
Added 1 solution & modified 1 solution
1 parent 1156d03 commit 8c852c3

File tree

2 files changed

+48
-27
lines changed

2 files changed

+48
-27
lines changed

Easy/Increasing Order Search Tree.java

Lines changed: 17 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -8,32 +8,22 @@
88
* }
99
*/
1010
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;
3822
}
23+
inorder(node.left);
24+
node.left = null;
25+
curr.right = node;
26+
curr = node;
27+
inorder(node.right);
28+
}
3929
}

Easy/Leaf Similar Tree.java

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
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+
}

0 commit comments

Comments
 (0)