Java for LeetCode 114 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
解题思路:
试图通过排序后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;  
        } 
    }

 


posted @ 2015-05-23 21:34  TonyLuis  阅读(130)  评论(0编辑  收藏  举报