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

深圳优化网站公司哪家好如何申请公司邮箱账号

深圳优化网站公司哪家好,如何申请公司邮箱账号,项目管理系统软件开发,软件项目开发文档模板LeetCode 114.二叉树展开为链表 题目描述 给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。 展开后的单链表应该与…

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]

Java 实现代码

/*** 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 {public void flatten(TreeNode root) {while (root != null) {// 左子树为 null,直接考虑下一个节点if (root.left == null) {root = root.right;} else {// 找左子树最右边的节点TreeNode pre = root.left;while (pre.right != null) {pre = pre.right;}// 将原来的右子树接到左子树的最右边节点pre.right = root.right;// 将左子树插入到右子树的地方root.right = root.left;root.left = null;// 考虑下一个节点root = root.right;}}}
}

解题思路

  1. 遍历二叉树:使用一个 while 循环遍历二叉树的每个节点。
  2. 处理左子树为空的情况:如果当前节点的左子树为空,则直接移动到右子树。
  3. 处理左子树不为空的情况
    • 找到左子树中最右边的节点。
    • 将当前节点的右子树接到左子树最右边节点的右指针上。
    • 将左子树移动到右子树的位置。
    • 清空当前节点的左子树指针。
    • 移动到下一个节点。
  4. 循环结束条件:当 rootnull 时,表示所有节点都已经被处理,循环结束。

复杂度分析

  • 时间复杂度:O(n),其中 n 是树中的节点数。每个节点都会被访问一次。
  • 空间复杂度:O(1),只需要常数级别的额外空间来存储指针和进行操作,不依赖于树的大小。
http://www.yayakq.cn/news/164799/

相关文章:

  • 锦州网站建设人与狗做的网站
  • 某网站优化方案永州市城乡建设规划局网站
  • 东莞网站优化流程可以自己制作广告的软件
  • 南城区网站仿做wordpress 网页飘窗
  • 网络广告推广网站wordpress 用户角色
  • 入侵dedecms网站管理员密码创什么网站吸引人
  • 网站开发的响应式和兼容性问题ai设计室内设计
  • 口碑好的丹阳网站建设网站响应式和非响应式
  • 嘉兴seo公司网站中国建设银行网址多少
  • 连云港建设工程质量监督站网站类似有点料的推广平台
  • 嵩明县住房和城乡建设局网站百度网页版网址
  • 网站托管维护方案蓝色商务网站模板
  • 校园网门户网站建设锛网站
  • 厦门SEO_厦门网站建设网页美工是什么
  • 杭州兼职网站建设wordpress栏目分类
  • 做网站还是做app好12黄页网站建设
  • 网站建设推广好处.tech域名的网站
  • 网站开发执行什么标准号现在网站建设用什么语言
  • 怎么用手机做刷会员网站wordpress博客数据库
  • asp网站建设运用的技术定制网络开发软件
  • 商城网站支付系统怎么做公司网站设计与制作
  • 七里河微信网站建设wordpress是外网吗
  • 合肥市网站建设 小程序wordpress表单插件
  • 服装 网站模板 wordpress有哪个理财网站是专门做汽车抵押的
  • 站长之家查询的网址阿里云服务器怎么安装wordpress
  • 太原做网站的鸣蝉公司有哪些平台网站是做废钢的
  • 刚做的网站适合做外链吗约会软件app前十名
  • jsp网站开发中英文页面切换wordpress 左侧导航菜单
  • 网站建设出售建站平台与自己做网站
  • 淘宝做任务网站网站制作完工验收单