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

力扣0114——二叉树展开为链表

[二叉树展开为链表]

难度:中等

题目描述

给你二叉树的根结点 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]

题解

因为和先序遍历相同,所以可以想到利用先序遍历将所有的结点存储到列表中,之后便可以依次添加右子结点

想法代码

using System;
using System.Collections.Generic;public class TreeNode
{public int val;public TreeNode left;public TreeNode right;public TreeNode(int val = 0, TreeNode left = null, TreeNode right = null){this.val = val;this.left = left;this.right = right;}
}public class Solution
{public static void Main(string[] args){TreeNode root = new TreeNode{val = 1,left = new TreeNode{val = 2,left = new TreeNode(3),right = new TreeNode(4)},right = new TreeNode{val = 5,right = new TreeNode(6)}};Solution solution = new Solution();solution.Flatten(root);solution.OnlyReadRightTree(root);}public IList<TreeNode> treeList = new List<TreeNode>();public void Flatten(TreeNode root){Travel(root);int size = treeList.Count;for (int i = 0; i < size; i++){TreeNode tree = treeList[i];tree.left = null;tree.right = i == size - 1 ? null : treeList[i + 1];}}public void Travel(TreeNode root){if (root == null){return;}treeList.Add(root);Travel(root.left);Travel(root.right);}public void OnlyReadRightTree(TreeNode root){if (root == null){return;}OnlyReadRightTree(root.right);Console.Write(root.val);}
}
return;}OnlyReadRightTree(root.right);Console.Write(root.val);}
}

相关文章:

力扣0114——二叉树展开为链表

[二叉树展开为链表] 难度&#xff1a;中等 题目描述 给你二叉树的根结点 root &#xff0c;请你将它展开为一个单链表&#xff1a; 展开后的单链表应该同样使用 TreeNode &#xff0c;其中 right 子指针指向链表中下一个结点&#xff0c;而左子指针始终为 null 。展开后的单…...

FPGA硬件架构

1.Xilinx FPGA是异构计算平台&#xff08;所谓异构&#xff0c;就是有很多不同的部分组成&#xff09;&#xff1a;CLB,BRAM,DSP 2. 软核&#xff1a; 把经过功能验证的、可综合的、实现后电路结构总门数在五千门以上的Verilog HDL模型称为软核(soft core)。 硬核: 把在某一…...

spring boot 嵌入chatGPT步骤

一、需要良好的网络 二、需要在OpenAI官网https://openai.com/注册用户&#xff0c;并获取一个api-key&#xff0c;sk开头的 验证是否可用网站&#xff1a;http://tools.lbbit.top/check_key_valid/ 三、spring boot 配置文件 openai.proxyHost127.0.0.1 openai.proxyPort7890…...

博云科技与中科可控全面合作,探索前沿金融科技新机遇

2024年1月26日&#xff0c;博云科技与中科可控在昆山高新区成功举办合作签约仪式。昆山市委常委、昆山高新区党工委书记孙道寻、中科可控董事长聂华、博云科技董事长花磊等领导出席了本次签约仪式。 中科可控将利用其在先进计算和智造领域的优势&#xff0c;为博云科技提供有关…...

十一、常用API——练习

常用API——练习 练习1 键盘录入&#xff1a;练习2 算法水题&#xff1a;练习3 算法水题&#xff1a;练习4 算法水题&#xff1a;练习5 算法水题&#xff1a; 练习1 键盘录入&#xff1a; 键盘录入一些1~100之间的整数&#xff0c;并添加到集合中。 直到集合中所有数据和超过2…...

基于ssm和微信小程序的健身房私教预约管理系统

文章目录 项目介绍主要功能截图&#xff1a;部分代码展示设计总结项目获取方式 &#x1f345; 作者主页&#xff1a;超级无敌暴龙战士塔塔开 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &…...

微服务架构

微服务&#xff08;Microservices&#xff09;是一种将应用程序作为独立服务套件的架构风格&#xff0c;这些服务围绕业务功能构建&#xff0c;可以通过网络调用进行交互。微服务架构使得可以独立开发、测试、部署和缩放各个服务。 微服务的核心原则包括&#xff1a; 高内聚&…...

山体滑坡在线安全监测预警系统(解决方案)

在近年来&#xff0c;随着全球气候变化的影响&#xff0c;山体滑坡等自然灾害频发&#xff0c;给人们的生命财产安全带来了严重威胁。为了有效预防和减少山体滑坡带来的危害&#xff0c;许多地方开始在山上安装山体滑坡在线安全监测预警系统&#xff08;解决方案&#xff09;。…...

StarRocks -- 基础概念(数据模型及分区分桶)

1. 数据模型 StarRocks提供四种数据模型&#xff1a; Duplicate Key, Aggregate Key, Unique Key, Primary Key 1.1 Duplicate Key 适用场景&#xff1a; 分析原始数据&#xff0c;如原始日志和原始操作记录。可以使用多种方法查询数据&#xff0c;不受预聚合方法的限制。加…...

Unity 状态模式(实例详解)

文章目录 简介示例1&#xff1a;基础角色状态切换示例2&#xff1a;添加更多角色状态示例3&#xff1a;战斗状态示例4&#xff1a;动画同步状态示例5&#xff1a;状态机管理器示例6&#xff1a;状态间转换的条件触发示例7&#xff1a;多态行为与上下文类 简介 Unity 中的状态模…...

力扣hot100 分割回文串 集合 dfs

Problem: 131. 分割回文串 文章目录 思路Code&#x1f496; DP预处理版 思路 &#x1f468;‍&#x1f3eb; 参考题解 Code import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Deque; import java.util.List;public class Solution {int n;//字符…...

C# 一个快速读取写入操作execl的方法封装

这里封装了3个实用类ExcelDataReaderExtensions&#xff0c;ExcelDataSetConfiguration&#xff0c;ExcelDataTableConfiguration和一个实用代码参考&#xff1a; using ExcelDataReader; using System; using System.Collections.Generic; using System.Linq; using System.T…...

axios结合ts使用,取消请求,全局统一获取数据,抛出错误信息

通常在开发时&#xff0c;后端向前端返回的数据可以如下&#xff1a; 1 使用restful api充分利用http状态码&#xff0c;然后在data中追加code字段&#xff0c;请求成功返回200,请求失败返回404,401,500等状态码&#xff0c;并且在code字段中给出详细的字符串信息2 再包一层&a…...

MongoDB:从容器使用到 Mongosh、Python/Node.js 数据操作(结构清晰万字长文)

文章目录 1. 容器与应用之间的关系介绍2. 使用 Docker 容器安装 MongoDB3. Mongosh 操作3.1 Mongosh 连接到 MongoDB3.2 基础操作与 CRUD 4. Python 操作 MongoDB5. Nodejs 操作 MongoDB5.1 Mongodb 和 Mongoose5.2 推荐在项目中使用 Mongoose 参考文献 1. 容器与应用之间的关系…...

超越传统—Clean架构打造现代Android架构指南

超越传统—Clean架构打造现代Android架构指南 1. 引言 在过去几年里&#xff0c;Android应用开发经历了巨大的变革和发展。随着移动设备的普及和用户对应用的期望不断提高&#xff0c;开发人员面临着更多的挑战和需求。传统的Android架构在应对这些挑战和需求时显得有些力不从…...

WebGL开发项目的类型

WebGL&#xff08;Web Graphics Library&#xff09;是一种用于在Web浏览器中渲染交互式3D和2D图形的JavaScript API。使用WebGL&#xff0c;可以开发各种类型的项目&#xff0c;包括但不限于以下几种&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业…...

CUDA编程- - GPU线程的理解 thread,block,grid - 学习记录

GPU线程的理解 thread,block,grid 一、从 cpu 多线程角度理解 gpu 多线程1、cpu 多线程并行加速2、gpu多线程并行加速2.1、cpu 线程与 gpu 线程的理解&#xff08;核函数&#xff09;2.1.1 、第一步&#xff1a;编写核函数2.1.2、第二步&#xff1a;调用核函数&#xff08;使用…...

yum 报错 ZLIB_1.2.3.3 not defined in file libz.so.1

这篇记录工作中发现的&#xff0c;库文件被修改导致 yum 无法正常使用的问题排查过程 问题描述 1&#xff09;执行yum 报错说python2.7.5 结构异常&#xff0c;发现/usr/bin/yum 的解释器被修改过&#xff0c;恢复成/usr/bin/python即可 2&#xff09;恢复后&#xff0c;发现…...

数字孪生智慧能源电力Web3D可视化云平台合集

前言 能源电力的经济发展是中国式现代化的强大动力&#xff0c;是经济社会发展的必要生产要素&#xff0c;电力成本变化直接关系到工业生产、交通运输、农业生产、居民生活等各个方面&#xff0c;合理、经济的能源成本能够促进社会用能服务水平提升、支撑区域产业发展&#xf…...

DataTable.Load(reader)注意事项

对于在C#中操作数据库查询&#xff0c;这样的代码很常见&#xff1a; using var cmd ExecuteCommand(sql); using var reader cmd.ExecuteReader(); DataTable dt new DataTable(); dt.Load(reader); ...一般的查询是没问题的&#xff0c;但是如果涉及主键列的查询&#xf…...

精准权限控制:Excel限制密码设置与使用技巧

当Excel表格发出去后&#xff0c;你是否会担心表格被随意修改&#xff1f;其实&#xff0c;Excel提供的“限制密码”就能很好的避免这个问题。下面一起来看看具体如何使用吧&#xff01;一、认识两种限制密码Excel的限制密码分为两大类&#xff1a;保护工作表和保护工作簿。前者…...

5步快速掌握CodeCombat:游戏化编程学习的终极指南

5步快速掌握CodeCombat&#xff1a;游戏化编程学习的终极指南 【免费下载链接】codecombat Game for learning how to code. 项目地址: https://gitcode.com/gh_mirrors/co/codecombat CodeCombat是一款创新的游戏化编程学习平台&#xff0c;通过将编程学习融入冒险游戏…...

BililiveRecorder全攻略:高效录制B站直播的实战指南

BililiveRecorder全攻略&#xff1a;高效录制B站直播的实战指南 【免费下载链接】BililiveRecorder 录播姬 | mikufans 生放送录制 项目地址: https://gitcode.com/gh_mirrors/bi/BililiveRecorder 在数字内容爆炸的时代&#xff0c;直播内容因其即时性和互动性成为珍贵…...

终极指南:如何用VideoSrt在5分钟内为视频自动生成字幕

终极指南&#xff1a;如何用VideoSrt在5分钟内为视频自动生成字幕 【免费下载链接】video-srt-windows 这是一个可以识别视频语音自动生成字幕SRT文件的开源 Windows-GUI 软件工具。 项目地址: https://gitcode.com/gh_mirrors/vi/video-srt-windows 还在为手动添加字幕…...

告别B站缓存碎片化:3步智能合并视频的终极解决方案

告别B站缓存碎片化&#xff1a;3步智能合并视频的终极解决方案 【免费下载链接】BilibiliCacheVideoMerge 项目地址: https://gitcode.com/gh_mirrors/bi/BilibiliCacheVideoMerge 你是否曾在高铁上打开B站缓存视频准备消遣时光&#xff0c;却发现播放器卡在开头几秒后…...

零基础友好:借助快马生成的指导项目轻松完成anaconda安装与初体验

最近在学Python数据分析&#xff0c;被各种环境配置搞得头大。朋友推荐用Anaconda管理环境&#xff0c;但光是安装就卡了半天。后来在InsCode(快马)平台发现了个神器项目&#xff0c;像有个老师手把手教操作&#xff0c;分享下我的学习过程&#xff1a; 为什么选择Anaconda 刚开…...

面试:描述下bean的生命周期

1.实例化bean&#xff1a; 反射的方式生成对象 2.填充bean的属性&#xff1a; populateBean()&#xff0c;循环依赖的问题&#xff08;三级缓存&#xff09; 3.调用aware接口相关的方法&#xff1a; InvokeAwareMethod&#xff08;完成BeanName&#xff0c;BeanFactory&#xf…...

老虎证券季报图解:营收1.76亿美元同比增41% 净利4566万美元

雷递网 雷建平 4月2日老虎证券&#xff08;NASDAQ: TIGR&#xff09;日前发布截至2025年12月31日的财报。财报显示&#xff0c;老虎证券2025年营收为6.12亿美元&#xff0c;较上年同期的3.92亿美元增长56.1%。其中&#xff0c;老虎证券2025年来自佣金收入为2.67亿美元&#xff…...

RMBG-2.0从零开始:Ubuntu 22.04 + CUDA 12.1完整环境搭建

RMBG-2.0从零开始&#xff1a;Ubuntu 22.04 CUDA 12.1完整环境搭建 想体验一键抠图&#xff0c;把照片背景变得干干净净&#xff1f;今天&#xff0c;我们就来手把手教你&#xff0c;在Ubuntu 22.04系统上&#xff0c;从零开始搭建一个基于RMBG-2.0模型的智能抠图环境。RMBG-…...

小白也能玩转大模型!Llama Factory免代码训练平台入门

小白也能玩转大模型&#xff01;Llama Factory免代码训练平台入门 1. 什么是Llama Factory&#xff1f; 想象一下&#xff0c;你有一个智能助手&#xff0c;但它总是回答一些不太符合你需求的内容。这时候&#xff0c;你就需要"教"它变得更懂你——这就是大模型微调…...