当前位置: 首页> 游戏> 手游 > leetcode-114. 二叉树展开为链表

leetcode-114. 二叉树展开为链表

时间:2025/7/10 13:21:51来源:https://blog.csdn.net/m0_38098373/article/details/140683598 浏览次数:0次

题目描述

给你二叉树的根结点 root ,请你将它展开为一个单链表:

  • 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。
  • 展开后的单链表应该与二叉树 先序遍历 顺序相同。

示例 1:

输入:root = [1,2,5,3,4,null,6]
输出:[1,null,2,null,3,null,4,null,5,null,6]

示例 2:

输入:root = []
输出:[]

示例 3:

输入:root = [0]
输出:[0]

思路

1)先序遍历二叉树到一个list里

2)遍历list,前一个节点为根,后一个节点为右孩子,在置左孩子为None

# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution(object):def __init__(self):self.res = []def pretraverse(self, root):if not root:return Noneself.res.append(root)self.pretraverse(root.left)self.pretraverse(root.right)def flatten(self, root):""":type root: TreeNode:rtype: None Do not return anything, modify root in-place instead."""self.pretraverse(root)for i in range(1, len(self.res)):pre,cur = self.res[i-1], self.res[i]pre.left = Nonepre.right = cur
关键字:leetcode-114. 二叉树展开为链表

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: