day-67 二叉树展开为链表

在这里插入图片描述

思路
深度优先遍历:首先将二叉树进行前序遍历,将每个遍历的节点存入一个链表当中

解题过程
将链表还原为只有右子树的二叉树即可

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 {List<TreeNode> list=new ArrayList<>();public void flatten(TreeNode root) {dfs(root);for(int i=0;i<list.size()-1;i++){TreeNode t=list.get(i);t.left=null;t.right=list.get(i+1);}}public void dfs(TreeNode root){if(root==null) return;list.add(root);dfs(root.left);dfs(root.right);}
}作者:菜卷
链接:https://leetcode.cn/problems/flatten-binary-tree-to-linked-list/solutions/2953239/er-cha-shu-zhan-kai-wei-lian-biao-by-ash-dqd4/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

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

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

相关文章

第16课-C++ STL 学习之【双向迭代器】(正,反向迭代器)

一、前言 在 C 的标准模板库&#xff08;STL&#xff09;中&#xff0c;迭代器是一种非常重要的概念&#xff0c;它提供了一种统一的方式来访问容器中的元素。在上一篇文章中我们学习了反向迭代器&#xff0c;它允许我们反向遍历容器。除了反向迭代器外&#xff0c;还有双向迭…

Hi3061M开发板——系统时钟频率

这里写目录标题 前言MCU时钟介绍PLLCRG_ConfigPLL时钟配置另附完整系统时钟结构图 前言 Hi3061M使用过程中&#xff0c;AD和APT输出&#xff0c;都需要考虑到时钟频率&#xff0c;特别是APT&#xff0c;关系到PWM的输出频率。于是就研究了下相关的时钟。 MCU时钟介绍 MCU共有…

认识Java的异常

异常机制 异常机制指的是程序出现错误时&#xff0c;程序的处理方式。 程序的错误分为三种&#xff1a; 编译错误&#xff1a;由于没有遵循对于语言的语法规则&#xff0c;编辑器可以自动发现并提示的错误位置和原因。逻辑错误&#xff1a;程序没有按照预期的顺序执行。运行…

FreeRTOS应用开发学习

了解FreeRTOS 任务相关API FreeRTOS任务创建API FreeRTOS 中&#xff0c;任务的创建有两种方法&#xff0c;一种是使用动态创建&#xff0c;一种是使用静态创建。动态创建时&#xff0c;任务控制块和栈的内存是创建任务时动态分配的&#xff0c;任务删除时&#xff0c;内存可…

微信开发者工具提示获取手机号失败,客户端短信认证

长时间没有使用快捷登录方式&#xff0c;手机号授权过期&#xff0c; 如何解决 打开 开发者工具中&#xff0c;预览模式&#xff0c;在手机中完成&#xff0c;使用快捷登录&#xff0c;获取完整的手机号流程&#xff1b;验短流程完成后在开发工具也能获取到完整手机号了 Tar…

Mac电脑使用pyenv管理多版本python环境 _

利用Mac包管理工具brew安装pyenv&#xff0c;pyenv用来管理所有python版本。如果没有安装brew&#xff0c;先安装一下吧。 安装pyevn $ brew install pyenv $ pyenv -v pyenv 1.2.6查看所有的python版本&#xff08;pyenv管理的所有版本&#xff09; $ pyenv versions * sys…

TOML 格式配置文件:简洁与强大的选择

在软件开发中&#xff0c;配置文件是不可或缺的一部分。它们用于存储应用程序的设置、参数和其他重要信息。不同的配置文件格式各有特点&#xff0c;本文将介绍 TOML 格式配置文件&#xff0c;并与 YAML 格式进行对比&#xff0c;探讨其优劣。 一、TOML 格式介绍 TOML&#x…

LSTM和GRU

LSTM&#xff08;Long Short-Term Memory&#xff09;和GRU&#xff08;Gated Recurrent Unit&#xff09;都是循环神经网络&#xff08;Recurrent Neural Networks&#xff0c;RNNs&#xff09;的变体&#xff0c;专门设计用来解决传统RNN在处理长序列数据时遇到的梯度消失或梯…

C#里使用PerformLayout,强制控件将布局逻辑应用于其所有子控件。

前几天&#xff0c;使用DataGridView来进行动态数据显示&#xff0c;但是发现左边的滚动条会显示不正确。 比如设置显示第100行了&#xff0c;但是滚动条的位置还是在最顶端&#xff0c; 如果你去点击一下滚动条&#xff0c;它又立即更新&#xff0c;并且跳到正确的位置显示。 …

申请商家转账到零钱功能所需材料及必过攻略

商家转账到零钱功能的快速开通方法&#xff0c;可以归纳为以下几个步骤&#xff1a; 一、确认商户资格与账号状态 1. 商户类型&#xff1a;该功能通常只对公司性质的商户开放&#xff0c;个体工商户及小微商户暂时无法申请。商家需为微信支付认证用户。 2. 账号状态&#xff…

网络层及ip报头

★★★★★默写&#xff1a; A类&#xff1a;0~127 B类&#xff1a;128~191 C类&#xff1a;192~223 A类私网&#xff1a;10.0.0 - 10.255.255.255 B类私网&#xff1a;172.16.0.0 - 172.31.255.255 C类私网&#xff1a;19.168.0.0 - 192.168.255.255 特殊&#xff1a; 0.0.0…

Windows远程桌面到Ubuntu

在Ubuntu系统中&#xff0c;默认情况下root账户是被禁用的&#xff0c;为了安全起见&#xff0c;建议不要直接使用root账户登录图形界面。但是&#xff0c;如果出于特定的管理或维护需求&#xff0c;您可以按照以下步骤启用和使用root账户登录图形界面&#xff1a; 启用root账户…

新手爬虫DAY1

这个错误信息表明在你的Python程序中&#xff0c;re.search() 函数没有找到预期的匹配项&#xff0c;因此返回了 None。当你尝试在 None 对象上调用 group(1) 方法时&#xff0c;Python 抛出了一个 AttributeError。 具体来说&#xff0c;错误发生在 pc.py 文件的第6行&#x…

AI大模型与相对论的结合点的思考、应用及相对论原理与公式表达

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下AI大模型与相对论的结合点的思考、应用及相对论原理与公式表达。在阐述相对论原理的基础上&#xff0c;通过数学复杂公式&#xff0c;分析了人工智能大模型在相对论领域的应用前景。文章深入挖掘了两大领域之间的联…

浏览器哪个好,占用cpu低。。电脑卡。流氓软件。。。火狐浏览器的使用。

用360安全浏览器打开b站&#xff0c;有时候占用CPU会升高&#xff0c;高达90%以上。一关闭b站就回落。 用谷歌浏览器打开b站&#xff0c;有时候占用CPU会升高&#xff0c;高达60%、70%&#xff0c;比360安全浏览器低一些。。一关闭b站就回落。 360安全浏览器、QQ浏览器&#xf…

厨房老鼠数据集:掀起餐饮卫生监测的科技浪潮

厨房老鼠数据集&#xff1a;掀起餐饮卫生监测的科技浪潮 摘要&#xff1a;本文深入探讨了厨房老鼠数据集在餐饮行业卫生管理中的重要性及其相关技术应用。厨房老鼠数据集通过收集夜间厨房图像、老鼠标注信息以及环境数据&#xff0c;为深度学习模型提供了丰富的训练样本。基于…

MongoDB 安装配置及配置和启动服务

MongoDB 安装配置 附&#xff1a;MongoDB官网下载地址&#xff1a; https://www.mongodb.com/download-center/community 注&#xff1a; 官网可以下载最新版的MongoDB安装包&#xff0c;有MSI安装版和ZIP安装版。我们课堂上使用4.4.4的ZIP安装版。安装版参考博客&#xff1…

Spark第一天

MapReduce过程复习 Spark由五部分组成 RDD五大特征 1、 Spark -- 代替MapReduce <<<<< scala是单机的&#xff0c;spark是分布式的。>>>>> 开源的分布式计算引擎 可以快速做计算 -- 因为可以利用内存来做一些计算 (1) 分为5个库(模块) : 1、…

安装指定node.js 版本 精简版流程

首先 我们本机上是否安装有node 如果有 需要先卸载 卸载完成后 使用命令查看是否卸载干净 打开WinR 输入cmd 然后输入如下名: where node 如果没有目录显示 说明node 很干净 本机没有相关安装 在输入命令: where npm 如果有相关目录 需要删除掉 要不然 后续安装的…

报错 - LangChain bind_tools NotImplementedError

使用 LangChain 的 bind_tools 方法一直报错&#xff0c;即使使用 ChatOpenAI 作为 llm 接口 根据这个issue 下的回答&#xff0c;修改了 ChatOpenAI 的 import 出处&#xff0c;解决了问题 https://github.com/langchain-ai/langchain/issues/21479#issuecomment-2105618237 …