Skip to content

Commit d0f2f0a

Browse files
committedNov 1, 2021
add a solution for 114
1 parent c58a143 commit d0f2f0a

File tree

1 file changed

+27
-0
lines changed
  • src/main/java/com/fishercoder/solutions

1 file changed

+27
-0
lines changed
 

‎src/main/java/com/fishercoder/solutions/_114.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,31 @@ public void flatten(TreeNode root) {
2020
}
2121
}
2222
}
23+
24+
public static class Solution2 {
25+
26+
/**
27+
* Credit: https://leetcode.com/problems/flatten-binary-tree-to-linked-list/solution/
28+
*/
29+
public void flatten(TreeNode root) {
30+
flat(root);
31+
}
32+
33+
private TreeNode flat(TreeNode curr) {
34+
if (curr == null) {
35+
return null;
36+
}
37+
if (curr.left == null && curr.right == null) {
38+
return curr;
39+
}
40+
TreeNode leftTail = flat(curr.left);
41+
TreeNode rightTail = flat(curr.right);
42+
if (leftTail != null) {
43+
leftTail.right = curr.right;
44+
curr.right = curr.left;
45+
curr.left = null;
46+
}
47+
return rightTail == null ? leftTail : rightTail;
48+
}
49+
}
2350
}

0 commit comments

Comments
 (0)