leetcode 114二叉树转换成链表

Posted wqali

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 114二叉树转换成链表相关的知识,希望对你有一定的参考价值。

解法一

可以发现展开的顺序其实就是二叉树的先序遍历。算法和 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二叉树转换成链表的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode(114): 二叉树展开为链表

114 Flatten Binary Tree to Linked List 二叉树转换链表

LeetCode114 二叉树展开为链表 ---二叉树题 三种解法 (递归) (迭代) (前驱节点)

[LeetCode] 114. Flatten Binary Tree to Linked List

LeetCode第114题—二叉树展开为链表—Python实现

⭐算法入门⭐《二叉树》中等01 —— LeetCode 114. 二叉树展开为链表