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

b2b网站开发报价焦作整站优化

b2b网站开发报价,焦作整站优化,淘宝客怎么做网站管理,au网站怎么注册Problem: 114. 二叉树展开为链表 文章目录 题目描述思路解题方法复杂度Code 题目描述 给你二叉树的根结点 root ,请你将它展开为一个单链表: 1.展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左…

Problem: 114. 二叉树展开为链表

文章目录

  • 题目描述
  • 思路
  • 解题方法
  • 复杂度
  • Code

题目描述

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

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

在这里插入图片描述
在这里插入图片描述

思路

我们易知,树与链表两种数据结构都可以通过指针操作来实现,换一句说两种数据结构都可以归结为一种链式数据结构只不过一般情况下,一般普通链表每一个节点后都只有一个next指针;一般的二叉树每个节点后都会有两个指针left指针和right指针,所以我们即可想到使用一个树来模拟实现链表!!!

image.png

1.创建虚拟头节点和尾指针,尾指针初始化指向虚拟头节点。
2.每次遍历过程中将上一节点的right指针指向当前节点,上一节点的left指针置为null
image.png

解题方法

1.创建虚拟头节点和尾指针,尾指针初始化指向虚拟头节点。
2.编写辅助的前序遍历函数,每次先取出当前节点的左右子树,再将每次按先序遍历的到的节点添加到尾指针后

复杂度

时间复杂度:

O ( n ) O(n) O(n)

空间复杂度:

O ( 1 ) O(1) O(1)

Code

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {//创建虚拟头节点private TreeNode dummyHead = new TreeNode();//创建尾指针private TreeNode tail = dummyHead;/*** 将一个二叉树展开为一个单链表** @param root 树的根节点*/public void flatten(TreeNode root) {preOrder(root);}/*** 先序遍历,将每次遍历到的节点添加到链表中** @param root 树的根节点*/private void preOrder(TreeNode root) {if (root == null) {return;}//先取出当前节点的左右节点TreeNode leftNode = root.left;TreeNode rightNode = root.right;//把遍历到的节点放在链表中tail.right = root;tail = root;tail.left = null;preOrder(leftNode);preOrder(rightNode);}}
http://www.ds6.com.cn/news/46711.html

相关文章:

  • 学生个人网页制作主题seo关键词教程
  • wordpress怎么文章共享qq群怎么优化排名靠前
  • 湛江做网站设计公司网络公司排行榜
  • kingcms做的政府网站同城发广告的平台有哪些
  • 免费找图片素材的网站百度指数使用方法
  • 和创互联的网站是多少百度学术论文查重官网
  • 山西省建设监理协会网-官方网站搜狗网站收录
  • 做膜结构那个网站好产品seo是什么意思
  • 怎么做论坛的网站中国域名注册局官网
  • 网站建设注意什么网站提交
  • 网站建设咨询公司地址品牌推广方案范文
  • 类似wordpress的java开源关键词排名优化易下拉排名
  • 网站的速度今日十大头条新闻
  • 用ps做美食网站chrome手机安卓版
  • 新会网站建设北京全网营销推广
  • java做项目的网站ks数据分析神器
  • 橙色网站模版中国有几个搜索引擎
  • 网站开发遇到的难点芜湖seo
  • 用vue.js做网站制作网页完整步骤代码
  • 工信部网站备案查通知外链群发软件
  • 上海网站制作上海网站制作能打开任何网站浏览器
  • 招人在哪个网站比较好找百度sem优化师
  • 网站 域名 云服务器今日热搜头条
  • 全球十大电商平台排名优化网站制作方法大全
  • 2018做网站 工具网络营销教程
  • 哈尔滨道外区建设局官方网站盐城seo推广
  • 商店网站在线设计成都网站快速排名提升
  • 网站开发工具评价seo咨询解决方案
  • 用ip地址做网站地址有危险百度一下你就知道下
  • asp开源企业网站教程市场营销公司有哪些