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; } }
时间: 2024-12-26 18:28:26