LeetCode114之二叉树展开为链表(相关话题:二叉树,递归)
2023-09-11 14:20:01 时间
题目描述:
给你二叉树的根结点 root
,请你将它展开为一个单链表:
- 展开后的单链表应该同样使用
TreeNode
,其中right
子指针指向链表中下一个结点,而左子指针始终为null
。 - 展开后的单链表应该与二叉树 先序遍历 顺序相同。
示例 :
输入:root = [1,2,5,3,4,null,6]
输出:[1,null,2,null,3,null,4,null,5,null,6]
解题思路:
写递归算法的秘诀:写树相关的算法,简单说就是,先搞清楚当前root
节点该做什么,然后根据函数定义递归调用子节点,递归调用会让孩子节点做相同的事情。
我们尝试给出这个函数的定义:
给flatten
函数输入一个节点root
,那么以root
为根的二叉树就会被拉平为一条链表。
相关文章
- 二叉树的常见算法
- Java实现 LeetCode 543. 二叉树的直径(遍历树)
- Java实现 LeetCode 543 二叉树的直径
- Java实现 LeetCode 104 二叉树的最大深度
- Java实现 LeetCode 94 二叉树的中序遍历
- Lintcode---把排序树组转换为高度最小的二叉树
- 重新整理数据结构与算法(c#)—— 线索化二叉树[二十]
- 每日一道 LeetCode (27):二叉树的最小深度
- 110. 平衡二叉树
- ( “树” 之 DFS) 101. 对称二叉树 ——【Leetcode每日一题】
- Golang每日一练(leetDay0034) 二叉树专题(3)
- 二叉树 排序二叉树-可以通过中序遍历得到排序的数据 二叉排序树时间复杂度O(logn),
- [LeetCode] 100. Same Tree ☆(两个二叉树是否相同)
- 【剑指Offer学习】【面试题23:从上往下打印二叉树】
- 算法 有序列表和平衡二叉树 有序阵列与平衡二叉树
- 平衡二叉树
- 算法 dfs —— 将二叉树 先序遍历 转为 链表
- 【Leetcode刷题Python】从列表list中创建一颗二叉树
- 【LeetCode】114. 二叉树展开为链表
- 深入学习二叉树(四) 二叉排序树