Flatten Binary Tree to Linked List
Given a binary tree, flatten it to a linked list in-place.
For example,
Given
1
/ \
2 5
/ \ \
3 4 6
The flattened tree should look like:
1
\
2
\
3
\
4
\
5
\
6
1 public class Solution { 2 public void flatten(TreeNode root) { 3 if(root==null) return; 4 if(root.left!=null){ 5 TreeNode left = root.left; 6 TreeNode right = root.right; 7 root.left = null; 8 root.right = left; 9 TreeNode p = left; 10 while(p.right!=null){ 11 p = p.right; 12 } 13 p.right = right; 14 } 15 flatten(root.right); 16 } 17 }
root.left = null;
浙公网安备 33010602011771号