力扣(LeetCode)116. 填充每个节点的下一个右侧节点指针(C++)

news2025/1/12 23:33:11

模拟

这题可以直接操作根节点,我们保存根结点,用作最终返回值。

填充每个结点的 n e x t next next 指针,其实是树的层序遍历。由于 n e x t next next 指针的存在,我们可以做到 O ( 1 ) O(1) O(1) 的空间复杂度。

算法:
从根结点出发,利用 n e x t next next 指针同层右移,每个结点的左儿子的 n e x t = next= next= 右儿子,右儿子的 n e x t = next= next= 下一结点的左儿子。

p->left->next = p->right;//左儿子的 next=右儿子
p->right->next = p->next->left;//右儿子的 next=下一结点的左儿子

一层遍历结束后, r o o t root root 走到左儿子,进入下一层遍历。

class Solution {
public:
    Node* connect(Node* root) {
        if(!root) return root;
        Node *temp = root;
        while(root->left){
            for(auto p = root;p;p = p ->next){
                p->left->next = p->right;
                if(p->next) p->right->next = p->next->left;
            }
            root = root->left;
        }
        return temp;
    }
};
  1. 时间复杂度 : O ( n ) O(n) O(n) n n n 是结点个数 ,每个结点至多被遍历一次,时间复杂度 O ( n ) O(n) O(n)
  2. 空间复杂度 : O ( 1 ) O(1) O(1) , 只使用常量级空间 。

AC

AC

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/45365.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自动驾驶专题介绍 ———— 动力传动系统

文章目录动力传动系统传统动力传动系统混合动力传动系统串联型并联型串并联型纯电动传动系统电机中央驱动电动轮驱动动力传动系统 汽车动力传动系统是位于发动机和驱动车轮之间的动力传动装置,其基本功用是将发动机发出的动力传输给驱动车轮,以保障汽车在…

JavaWeb简单实例——jQuery

简单介绍: 在之后的学习中,我们会接触到Ajax异步请求,这个异步请求需要我们在网页端使用JS来发送,而使用原生的Ajax请求比较复杂,所以我们就借用一个前端框架封装后的Ajax请求,这样可以简化我们的代码编写…

大坝安全动态监管预警系统 大坝安全监测平台 遥测终端机 水位雨量监测站

平升电子大坝安全动态监管预警系统/大坝安全监测平台/大坝安全监测系统根据SL551-2012《土石坝安全监测技术规范》的整编要求,设置了变形监测、渗流监测、环境量监测。借助该系统可及时了解大坝的工作性态和水库可能存在的事故隐患,为大坝安全管理与水库…

Linux 安装 ElasticSearch

注意事项: 内存不能太小,否则会启动失败JDK版本需要对应,es7 需要 Java 11不能以 root 用户启动 平台确认 大家可以自行安装虚拟机部署,有条件可以在服务器操作。 安装Java 安装 Elasticsearch 之前,你需要先安装一个较…

04. 组合总和

1.题目链接: 39. 组合总和 2.解题思路: 2.1.题目要求: 给定一个“无重复数组candidates”和一个“目标和target” ,要求在给定 数组candidates 的范围内,输出和等于 目标和target 的组合,此组合元素可重复…

Java程序员:三个月刷完1000道面试真题,没想到老板直接给我升职了

同事:前阵子听说你要跳槽,现在准备得怎么样啊?程序员T:不跳了同事:啊?为什么?程序员T:涨薪了呗?同事:真的吗?涨了多少?你自己跟老板谈…

卓豪再签洛钼集团,实现AD域自动化管理有效降低管理人员工作负荷

2022年11月,ManageEngine卓豪续签上海董禾商贸有限公司,将为“洛钼集团”部署ADManager Plus软件,助力IT管理摆脱复杂AD域管理操作,实现AD域管理自动化。 上海董禾商贸 上海董禾商贸有限公司作为洛钼集团在上海的主体公司。洛阳栾…

2.9.39:Flexmonster:网络报告数据透视表组件

用于网络报告的数据透视表组件 用于可视化业务数据的最强大的 JavaScript 工具 与任何技术堆栈集成 该组件可与任何技术堆栈无缝协作: 与Angular、React、jQuery、Vue等 完美集成 没有服务器端依赖 只需几行代码即可开始使用。 加载海量数据集 即使有超过一百万行…

珠宝商城小程序开发的价值和优势

珠宝行业的巨大利润空间就决定了行业内激烈的竞争压力,而随着时代的发展,单一的线下门店营销方式很难让珠宝行业得到更好的发展。为了防止顾客流失,挖掘潜在的消费潜力,珠宝行业开始向科技化、互联网化、移动化的方向开拓市场&…

Sentinel-2(哨兵2数据介绍)

哥白尼 Sentinel-2(哨兵 2)计划是一个由两颗相同的 Sentinel-2 极轨卫星组成的星座,两颗卫星相位差 180,运行在平均高度 786 km 的太阳同步轨道上。每颗卫星在其轨道上的位置由双频全球导航卫星系统(GNSS)接…

Kubernetes资源调度之污点与Pod容忍度

Kubernetes资源调度之污点与Pod容忍度 概述 污点是定义在节点之上的键值型属性数据,用于让节点有能力主动拒绝调度器将Pod调度运行到节点上,除非该Pod对象具有接纳节点污点的容忍度。容忍度(tolerations)则是定义在Pod对象上的键值型属性数据&#xff0c…

WAVE SUMMIT+2022明日开场,六大看点不容错过!

在2022年最后一个乐章奏响之前,WAVE SUMMIT第八届峰会将率先拉开帷幕。11月30日,由深度学习技术及应用国家工程研究中心主办、百度飞桨承办的WAVE SUMMIT2022深度学习开发者峰会将以网上直播的方式呈现。明日14点,冬日AI盛会WAVE SUMMIT2022将…

.Net 7 Native AOT 单文件 无依赖 跨平台

2022.11.18 Native AOT 正式发布,不再是 实验性项目。 .Net 7 Console App & WebApi 使用PublishAOT true,直接编译 成exe,无rutime依赖,智能裁剪,体积小,启动快。 环境: 1.更新VS2022 …

安科瑞智能余压监控系统余压控制器ARPM-C 监控余压值/接收报警信息

1、概述 ARPM-C型余压控制器,可监控所连接余压探测器的余压值,接收余压探测器的报警信息,并向余压监控器反馈现场工作状态,当余压过高报警时联动风阀执行器调节泄压阀,能够持续调节泄压阀的开启角度。 2、产品型号 …

Java JUC并发容器之BlockingQueue的多种实现详解

Java JUC并发容器之BlockingQueue的多种实现详解 文章目录Java JUC并发容器之BlockingQueue的多种实现详解BlockingQueueArrayBlockingQueueLinkedBlockingQueueLinkedBlockingQueue和ArrayBlockingQueue的差异PriorityBlockingQueueDelayQueueSynchronousQueueBlockingQueue …

首次公开,GitHub点击破百万的分布式高可用算法小册被我扒下来了

想成为分布式高手?那就先把协议和算法烂熟于心吧!这就不得不提到著名的——《分布式高可用算法》! 目前网上还没有开源版本,今天我就当一次“互联网雷锋” ,免费获取方式我放在文末了 作者介绍 江峰,教授…

用R对Twitter用户的编程语言语义分析

Twitter是一个流行的社交网络,这里有大量的数据等着我们分析。Twitter R包是对twitter数据进行文本挖掘的好工具。最近我们被客户要求撰写关于Twitter的研究报告,包括一些图形和统计输出。本文是关于如何使用Twitter R包获取twitter数据并将其导入R&…

linux /usr/lib/共享库为何几乎都有链接(像是快捷方式)?

linux 共享库为什么要建立那么多link QT建立的共享库,输出的时候会有三个链接文件,有疑惑为什么要这么多文件呢?是什么规则考虑的? 可能这么做有好处,就是可以随时切换库的版本吧。 Linux下软链接的使用技巧 - 腾讯云…

Nodejs -- Express的安装和定义get、post方法

文章目录Express的基本使用1 安装2 基本使用3 监听GET请求4 监听POST请求5 把内容响应给客户端6 获取URL中携带的查询参数7 获取URL中的动态参数Express的基本使用 1 安装 在项目所处的目录中,运行如下的终端命令,即可将express安装到项目中使用&#…

【问题思考】二重积分积分限上的x和积分内部的x有什么区别?【几何直观】

问题 在做这个积分的时候,产生了一个疑问,就是这个积分中,第一次积分能将x视为常数已经成为一个下意识的动作了,然而,是否能够真的将积分中的x看作常数?而这个积分限上也有一个x,这个积分限上的…