Given a binary tree, flatten it to a linked list in-place.
For example,
Given1 / 2 5 / \ 3 4 6The flattened tree should look like:
1 2 3 4 5 6
先将根节点的左子树连接到右边,在递归处理子节点。public void flatten(TreeNode root) { if(root == null) return; TreeNode left = root.left; TreeNode right = root.right; if(left != null){ root.right = left; root.left = null; TreeNode rightmost = left; while(rightmost.right != null){ rightmost = rightmost.right; } rightmost.right = right; } flatten(root.right); }
Flatten Binary Tree to Linked List,布布扣,bubuko.com
Flatten Binary Tree to Linked List
原文地址:http://blog.csdn.net/u010378705/article/details/35991429