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二叉树转换成链表的主要内容,如果未能解决你的问题,请参考以下文章
114 Flatten Binary Tree to Linked List 二叉树转换链表
LeetCode114 二叉树展开为链表 ---二叉树题 三种解法 (递归) (迭代) (前驱节点)
[LeetCode] 114. Flatten Binary Tree to Linked List