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

淘宝联盟登记新网站net域名网站

淘宝联盟登记新网站,net域名网站,东莞哪家做网站,传媒公司注册经营范围有哪些题目 给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。 展开后的单链表应该与二叉树 先序遍历 顺序相同。 示例 输…
题目

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

示例

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

解析

注意下函数签名:
func flatten(root *TreeNode) {} // 注意没有返回值
这道题的题目中已经描述比较清晰了,告诉了和前序遍历相同,那么就意味先来一遍前序遍历,将遍历后的结果存起来,这里需要注意一下,之前是存到了一个[]int{}结构里,因为之前返回的是一个int数组,而这次要返回链表,所以要提前定义一个[]*TreeNode{}的结构,前序遍历完得到这个结构后,再来一个循环遍历这个数组,同时遍历这个数组的两个节点,将每个节点的left置为nil,right指向下一个节点就可以了

func flatten(root *TreeNode) {if root == nil {return}listNew := []*TreeNode{}stack := list.New()stack.PushBack(root)for stack.Len() > 0 {node := stack.Remove(stack.Back()).(*TreeNode)listNew = append(listNew, node)if node.Right != nil {stack.PushBack(node.Right)}if node.Left != nil {stack.PushBack(node.Left)}}for i := 1; i < len(listNew); i++ {prev, cur := listNew[i-1], listNew[i]prev.Left = nilprev.Right = cur}
}
http://www.yayakq.cn/news/706113/

相关文章:

  • wordpress站点名称的影响seo优化网站教程百度
  • 学做包子馒头的网站ip网域名查询
  • 做网站编辑要会什么中国造价网官网
  • 网站制作软件 aws怎么制作自己的网页
  • 临沂seo建站江阴服装外贸现状
  • 网站部分乱码html5做网站导航
  • 成品网站货源入口浙江最新通知今天
  • 兰州网站搜索引擎优化健身器材网站源码
  • 网站托管目的是什么动漫制作专业就业方向和前景
  • 免费行情软件app网站大全下载有图片教做美食的网站
  • 淘宝客网站里面catid=16网络推广技巧培训
  • 站外推广免费网站东莞家居网站建设
  • 济南品质网站建设费用篮网目前排名
  • 安全教育网站建设背景微信开发者工具官方文档
  • 保定网站建设方案托管平台开发的基本流程
  • 抓取网站后台齐齐哈尔市建设网站
  • 防制网站怎么做网站 三合一
  • 网站备案抽查英文外贸网站设计
  • 网站建设总体设计德尔普的网站建设的价格
  • c2c网站开发毕业设计code snippet wordpress
  • 做侵权网站用哪里的服务器稳wordpress 怎么切换主题
  • 长春企业网站如何建设电商商城系统免费版下载
  • 电脑网站拦截怎么解除影楼网站模版
  • 佛山家居企业网站建设做psd模板下载网站
  • 网站备案每年审吗上海闵行做网站
  • 定远县建设局网站网络营销教案ppt
  • 网站设计分类网站到期不续费
  • 网站设计找谁做长春二道网站建设
  • 软件自学网官方网站如何做网站诊断
  • 网站预约功能怎么做windows10PHP 网站建设