leetcode -- 114.二叉树展开为链表

news2024/11/15 10:58:31

https://leetcode.cn/problems/flatten-binary-tree-to-linked-list/


题目中要求把链表展开为单链表,并且展开后的链表要跟二叉树的前序遍历顺序相同。

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     struct TreeNode *left;
 *     struct TreeNode *right;
 * };
 */
void flatten(struct TreeNode* root) {
    struct TreeNode* cur = root;
    while (cur != NULL)
    {
        if (cur->left != NULL) 
        {
            struct TreeNode* next = cur->left;
            struct TreeNode* pre = next;

            while (pre->right != NULL) 
            {
                pre = pre->right;
            }

            pre->right = cur->right;
            cur->left = NULL;
            cur->right = next;
        }
        cur = cur->right;
    }
}

 

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

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

相关文章

adb shell pm path packageName

在Android命令行中,如果你想要查询某个应用程序的安装位置,可以使用pm命令(Package Manager的缩写)。这个命令提供了很多关于软件包管理的操作,查询应用安装路径,可以使用path选项。 具体命令如下&#xf…

unity 简易异步socket

1.unity 同步socket 改异步 using System.Collections; using System.Collections.Generic; using UnityEngine; using System.Net.Sockets; using UnityEngine.UI; using System.Threading; using System;public class Echo : MonoBehaviour {//定义套接字Socket socket;//UG…

基于STM32开发的智能温室控制系统

目录 引言环境准备智能温室控制系统基础代码实现:实现智能温室控制系统 4.1 温湿度传感器数据读取4.2 风扇与加热器控制4.3 灌溉系统控制4.4 用户界面与数据可视化应用场景:温室环境管理与优化问题解决方案与优化收尾与总结 1. 引言 随着农业技术的发…

插入删除单链表指定结点-偷天换日法

王道说下面的代码有BUG,比如当删除的结点p在最后一个元素时,p->nextNULL; So *q NULL; q->data就是错误的,我认为加个判断就行 加个判断即可 /*看着是删除q了,从结果上看就是把p删除了 偷天换日法*/ bool DeleteNode(LNod…

如何用Vue3打造一个酷炫的音乐播放器

本文由ScriptEcho平台提供技术支持 项目地址:传送门 Spotify音乐卡片组件 应用场景 本代码用于构建一个类似于Spotify音乐播放器中的音乐卡片组件,可展示歌曲信息、控制播放、调节音量等功能。 基本功能 该音乐卡片组件主要包含以下功能&#xff1…

万万没想到,一个不起眼的小功能,差点把我们项目搞崩溃!

大家好,我是程序员鱼皮。今天分享一个真实项目开发的小故事。 故事 最近我们团队一直在持续更新编程导航网站,优化了界面,也新增了不少功能。现在网站长下面这样,是不是看着比以前舒服多了? 编程导航:htt…

萌啦OZON数据分析工具:OZON电商卖家的得力助手

在当下电商领域,数据分析的重要性不言而喻。对于在OZON这一俄罗斯电商平台上耕耘的卖家而言,拥有一款高效、准确的数据分析工具,无疑是提升销售业绩、优化运营策略的关键。今天,我们就来聊聊“萌啦OZON数据分析工具”,…

模型的手工下载技巧-代码自动批量下载模型文件

之前分享过通过镜像网站手工下载模型文件的技巧(见这里模型的手工下载技巧-镜像网站的使用)。但有的时候,模型文件数量较多,一个个​手工下载非常不便。比如著名的“麦橘写实”模型。 有没有什么好办法可以把整个目录都下载下来呢…

泰国街头狂潮肖战王一博魅力引爆

泰国街头狂潮!肖战王一博魅力引爆,中国明星影响力横扫东南亚!当《怦然心动20岁》的镜头转向泰国的繁华街头,一场意想不到的明星风暴正在悄然酝酿。在这场青春的盛宴中,嘉宾们随机采访路人,试图探寻泰国人民…

rospkg.os_detect.OsNotDetected检测不到系统的解决办法

遇到上述报错时,可以参考博客进行解决

美容美发门店SaaS收银系统源码分享、连锁美业拓客系统预约系统源码

美业收银管理系统对于美容、美发、医美行业的门店来说至关重要,它不仅可以帮助提高管理效率和降低成本,还可以改善客户体验并促进业务增长。 (私信获取更多方案/演示视频) 以下是美业系统的一些作用和重要性: 1. 记录…

两台电脑之间如何互传文件?快学起来

电脑已经是现代社会不可或缺的综合性办公设备,无论是在学习还是工作中,我们很多时候都需要在两台电脑之间互传文件,以便实现文件共享和共同协作。 两台电脑之间如何互传文件?本文将探讨两台电脑互传文件的意义、方法和注意事项。…

远程医疗平台如何连接医生和患者?

远程医疗平台,以其创新的信息技术手段,构筑了一个无视地理界限的医疗服务新体系,实现了医患之间的实时互动和诊疗服务。例如欣九康诊疗系统,通过一系列功能模块,有效连接了医生与患者,为两者提供了一个全面…

2024/6/11随笔

端午买了很多地毯和一些氛围灯,地毯拼夕夕也好贵。地毯折合的一块70*70的8块钱了。。。真是造孽啊,看今天朋友圈怎么都去旅游了呢?不行,明年我也想去旅游了,先去广州再西安,然后再去上海。剩下的就随便去哪…

UML精简概述

UML精简概述 UML精简概述 UML精简概述UML的定义常见的关系 在学习设计模式之前,需要掌握一些预备知识,主要包括UML类图和面向对象设计原则,它们是“基础内功”,将为后续的“深入修行”奠定基础。UML类图可用于描述每一个设计模式的…

web网页测试bug定位详细步骤

前言 1、前置条件 1)需要的知识 熟透系统业务、团队成员情况; 熟悉使用F12或抓包工具; 了解HTTP/HTTPS协议; 了解系统的架构,数据走向; 2)定位前的操作 保存bug产生的记录; 排除…

videoJS 视频 + 独一无二皮肤 + mp4/m3u8

推荐和参考文章: video.js调用-腾讯云开发者社区-腾讯云> 一、总结(点击显示或隐藏总结内容)一句话总结:网上有各种细致的现成的代码可以拿来用,没必要自己死专1、video.js有两种初始化方式?一种是在v…

生成式AI时代已来,你是否做好了准备?

面对正在来临的生成式AI时代,从个人到企业,都应该为之做好充足的准备。 生成式AI时代的黎明已经来临 “生成式AI时代的黎明已经来临,它将会改变我们每个人的生活和工作方式、改变每一个行业。”在近日召开的2024亚马逊云科技中国峰会上&#…

第5章:模型预测控制(MPC)

5.1 模型预测控制(Model Predictive Controller -- MPC) 注:MPC 更像是一种控制策略的框架,它使用了最优的控制思想在里面,如下的几种控制策略其实都是 MPC 的变体; MHC(Moving Horizon Contr…

ARM32开发--PWM通道输出

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 文章目录 前言 内容 需求 通用定时器多通道 开发流程 多通道配置 占空比更新 完整代码 高级定时器通道输出 开发流程 通道配置 Break配置 完整代码 总结 前言 加强掌握…