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
解题思路:
试图通过排序后new TreeNode是无法通过的,这道题的意思是把现有的树进行剪枝操作。JAVA实现如下:
static public void flatten(TreeNode root) { while(root!=null){ if(root.left!=null){ TreeNode pre = root.left; while(pre.right!=null) pre = pre.right; pre.right = root.right; root.right = root.left; root.left = null; } root = root.right; } }