码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode 114二叉树转换成链表

时间:2019-11-23 20:09:20      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:treenode   public   需要   node   先序   void   null   rri   roo   

解法一

可以发现展开的顺序其实就是二叉树的先序遍历。算法和 94 题中序遍历的 Morris 算法有些神似,我们需要两步完成这道题。

将左子树插入到右子树的地方
将原来的右子树接到左子树的最右边节点
考虑新的右子树的根节点,一直重复上边的过程,直到新的右子树为 null

public void flattern(TreeNode root){
 while(root!=null){
    if(root.left==null){
        root=root.right;
     }else{
     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;
          }
      }
  }

leetcode 114二叉树转换成链表

标签:treenode   public   需要   node   先序   void   null   rri   roo   

原文地址:https://www.cnblogs.com/wqali/p/11919332.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!