当前位置: 首页 > news >正文

LeetCode 114. 二叉树展开为链表

 题目描述  

给你二叉树的根结点 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.辅助数组

解题思路

       创建一个数组,通过先序遍历存储二叉树的数据,那么遍历数组时的数据排列就是要求单链表的数据排列。我们得到数据就可以从root,不断创建新节点,新节点存入对一个的数组值,使每个节点的left指向空,使用right连接,最终root就成了链表的头节点。

class Solution {
public:void flatten(TreeNode* root) {if(root == nullptr) return;vector <int> temp;TreeNode* L = root;Getvec(root,temp);for(int i = 1;i < temp.size();i ++){L -> left = nullptr;TreeNode* b = new TreeNode();b -> val = temp[i];L -> right = b;L = b;}}void Getvec(TreeNode* root,vector<int> &temp){if(root == nullptr) return;temp.push_back(root -> val);Getvec(root -> left,temp);Getvec(root -> right,temp);}
};

        时间复杂度O(N),空间复杂度O(N)

http://www.dtcms.com/a/428055.html

相关文章:

  • 网站性能优化电子商务网站建设与管理期末答案
  • 橙色网站设计手机社区网站模板
  • ns3 配置 Ubuntu × CLion
  • 大模型——长文拆解上下文工程落地策略与实践
  • 网站免费建站pixiv appdw如何在网站做弹窗
  • 分身宝 1.0.8 | 无限多开系统级分身~更稳定安全支持同时登录多个社交软件、游戏账号,互不干扰,操作简单便捷,一键切换
  • 网站服务器租用价格 贴吧磁力神器
  • 山东seo推广网站建设个人网站推广方案
  • 商务网站建设工程师是做网站找俊义 合优
  • 简要介绍IDM(Internet Download Manager)的功能及其在下载管理领域的地位
  • 杭州网站开发设计购物网站开发计划书
  • Javascript常量介绍
  • 从 Vercel 构建失败谈 Git 大小写敏感性问题:一个容易被忽视的跨平台陷阱
  • 门户网站有哪些品牌推广理论
  • wordpress 电商网站政务网站建设发言材料
  • 自己做的网站提示不安全企业做网站可以带中国吗
  • thumbnail(资源管理器 缩略图)
  • Java 25 新特性解析与代码示例
  • 新天力:以绿色创新重塑食品容器行业新生态
  • 做个购物网站多少钱关于做电影的网站设计
  • 基于SWAT模型的香溪河流域面源污染模拟
  • wordpress微信网站模板中铁二局深圳公司官网
  • Pytorch强化学习demo
  • Python连接MinIO的参数详解
  • theano.scan 起什么作用
  • 聚合广告联盟宁波本地抖音seo推广
  • 网站代码语法免费响应式网站
  • 打开上次浏览的网站wordpress 图片并列
  • Guava Cache
  • 用 go-commons 打造更优雅的字符串处理工具