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

asp成品网站镇江手机网站制作

asp成品网站,镇江手机网站制作,vps服务器10元一月,网站建设家居题目 给你二叉树的根结点 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/46436/

相关文章:

  • 织梦统计网站访问量代码中国摄影展览网首页
  • 嘉兴专业网站排名推广深圳高端女装品牌
  • asp网站免费完整源码做网站设计公司价格
  • 开发网站可用性监控北京小程序定制开发
  • 开发一套网站系统 多少钱地豆深圳设计公司
  • 汕头网页网站制作建网站软件哪个好
  • 开发龙岗网站建设网站开发的流程图和原型图
  • 做视频搬运工的网站wordpress可是可视化编辑
  • 网站图片切换网络推广途径和推广要点
  • 网站定制的公司半夜一分快三app推荐直播下载
  • 郴州网站建设推广服务百度广告位
  • 制作网站联系方式网站建设费维护费
  • 安庆网站制作深圳网站建设服务代码
  • 省级别网站建设方案ih5专业的h5制作工具
  • 网站仿站大多少钱东莞建网站哪家强
  • 如何提升网站用户体验旅游网站策划营销
  • 做公司网站的价格莱州市做网站的公司
  • 如何自已建网站软件网页制作
  • 网站推广软文选择天天软文什么是响应式
  • 医院做网站是最简单的前端吗中山网站搜索优化
  • 我们网站在那里登陆后台系统管理lovephoto wordpress
  • 网页设计网站作业贵州省遵义市建设局网站
  • 建设银行荆门招聘网站做网站淄博
  • 推广网站优化seo教程上排名wordpress支持七牛
  • 做系统哪个网站上的好制作app开发制作
  • 沈阳市建设工程质量监督局网站查企业免费查询
  • 重庆网站优化服务网站后端开发需要学什么
  • 移动端网站提交提交建筑网图片
  • 山东城市建设职业学院官方网站无代码网站开发平台有哪些
  • 郑州微科网站建设许昌专业做网站公司