网站源码交易网网站设计培训课程

news/2025/9/23 2:50:22/文章来源:
网站源码交易网,网站设计培训课程,上虞市建设风机厂网站,网站优化方案 site ww文章目录 1028. 从先序遍历还原二叉树#xff08;三种方法#xff1a;栈递归集合#xff09;一、栈 while迭代1.思路2.代码 二、递归法1.思路2.代码 三、集合存储1.思路2.代码 1028. 从先序遍历还原二叉树#xff08;三种方法#xff1a;栈递归集合#xff09; 一、栈 wh… 文章目录 1028. 从先序遍历还原二叉树三种方法栈递归集合一、栈 while迭代1.思路2.代码 二、递归法1.思路2.代码 三、集合存储1.思路2.代码 1028. 从先序遍历还原二叉树三种方法栈递归集合 一、栈 while迭代 1.思路 1.遍历整个字符串从0开始根节点在第0层 2.用level记录层数每遇到一个-字符当前层数1 3.用val记录要插入的结点的值遍历取到的数字通过字符运算得到值。 4.找到当前要插入结点的父结点栈的大小要小于当前层数 5.如果节点只有一个子节点那么保证该子节点为左子节点。 6.将创建的新结点入栈 7.除了根节点其他子节点全部出栈返回根节点 2.代码 public TreeNode recoverFromPreorder(String traversal) {StackTreeNode stack new Stack();//用栈来存储结点for (int i 0; i traversal.length(); ) {//遍历整个字符串从0开始根节点在第0层int level 0;//记录当前层数while (traversal.charAt(i) -) {//每遍历到一个-层数累加level;i;}int val 0;//查看当前要插入结点的数字while (i traversal.length() traversal.charAt(i) ! -) {//当前的字符是数字并且未超过字符串val val * 10 (traversal.charAt(i) - 0);//根据字符的相加遍历字符串找数字时 只能一个数字一个数字的转// 但是字符串中连续的数字是一个多位数需要前面的数字*10变高位再加上后面的数// 成为一个数作为新结点的值i;}while (stack.size() level) {stack.pop();//找到当前要插入结点的父结点}TreeNode node new TreeNode(val);//创建新结点if (!stack.isEmpty()) {//如果节点只有一个子节点那么保证该子节点为左子节点。if (stack.peek().left null) {stack.peek().left node;} else {stack.peek().right node;}}stack.add(node);//入栈}while (stack.size() 1) {stack.pop();//要返回根节点出到栈只有一个结点}return stack.pop();}二、递归法 1.思路 1.利用helper函数根据字符和对应深度创建结点还原二叉树 2.每遇到-字符层数加一 3.如果遍历的深度和获取到的深度不一致返回空 4.当深度等于层数时下一个结点的位置从index level开始 5.通过字符运算获取数字同时创建结点 6.根节点的左树调用helper函数递归如果左子节点是空那么右子节点肯定也是空的 7.如果根节点的左树不为空要想添加结点递归右树。 8.最终返回根节点 2.代码 //102. 二叉树的层序遍历---递归写法int index 0;//index记录遍历到字符串的哪个位置public TreeNode recoverFromPreorder3(String traversal) {return helper(traversal,0);}public TreeNode helper(String s, int depth) {//helper函数用来创建二叉树int level 0;//记录层数while (index level s.length() s.charAt(index level) -) {level;}//如果遍历的深度和获取到的深度不一致返回空if (level ! depth){return null;}int next index level;//获取数字while (next s.length() s.charAt(next) ! -)next;int val Integer.parseInt(s.substring(index level, next));index next;//创建结点TreeNode root new TreeNode(val);root.left helper(s, depth 1);if (root.left null) {//如果左子节点是空那么右子节点肯定也是空的root.right null;} else {root.right helper(s, depth 1);}return root;}三、集合存储 1.思路 1.使用正则匹配把字符串S拆成不同的数字存进数组中用集合list来存储结点 2.将根节点添加到list中层数从1开始不包括根节点 3.数组存储的位置不为空时根据转换的值创建结点 4.将结点加入到集合中 5.获取父结点插入结点并从新设置层数果满了层数加一 6.最终返回根节点 2.代码 //102. 二叉树的层序遍历--正则匹配public TreeNode recoverFromPreorder2(String traversal) {String[] valus traversal.split(-);//使用正则匹配把字符串S拆成不同的数字用集合list来存储结点ListTreeNode list new ArrayList();list.add(new TreeNode(Integer.valueOf(valus[0])));//根节点//根节点添加到list中int level 1;//层数层1开始不包括根节点for (int i 1; i valus.length; i) {if (!valus[i].isEmpty()) {//数组存储的位置不为空TreeNode node new TreeNode(Integer.valueOf(valus[i]));//根据转化的值创建结点//因为是前序遍历每层我们只需要存储一个结点即可这个节点值有可能//会被覆盖如果被覆盖了说明这个节点以及他的子节点都以及遍历过了//所以不用考虑被覆盖问题list.add(level, node);//将结点加入到集合中TreeNode parent list.get(level - 1);//获取父结点插入结点并从新设置层数if (parent.left null) {parent.left node;} else {parent.right node;}level 1;} else {level;//如果满了层数加一}}return list.get(0);}点击移步博客主页欢迎光临~

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

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

相关文章

旅游企业网站建设工作的通知贵州省兴义市建设局网站首页

MAC MINI 2012安装Montery折腾笔记(作为电视盒子/远程开发机) 起因: 手头有个mac mini,2018年买的2手。一直都是10.12系统,处理python和苹果开发都受制于旧系统,很多软件也装不上,于是有了升级…

网站建设 自查表申报网站

技术栈 我们将使用Node.js和Express.js作为我们的后端框架,以及Node.js的文件系统(fs)模块来操作文件和文件夹。此外,我们将使用Node.js的require和delete require.cache来加载和更新模拟数据。 项目结构 首先,让我们定义一个简单的项目结…

济南网络有限公司大冶seo网站优化排名推荐

[react] react中发起网络请求应该在哪个生命周期中进行?为什么? 异步情况可以在componentDidMount()函数中进行。 同步的情况可以在componentWillMount()中进行。 个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易&#xff0…

山西网络建站代运营免费开发软件制作平台

文章目录 对比分析计算机网络,分布式系统,主机系统的差异?七层模型每一层的主要功能?简述PCM的理论基础,为什么PCM采样时间被设置为125us?同步通信和异步通信的差异。光纤作为传输介质,相比铜芯有什么优势…

网站哪家公司做得好网站免费网站免费片黄入口蜜桃观看射破屁屁

php文件锁怎么用PHP出现文件锁与mysql表锁有大概想的用法,就是同一时间只能让一个人操作,这样就避免了同时有多个人操作同一文件,这样导致数据丢失的情况了。以下是小编为大家搜索整理的PHP文件锁怎么用,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生…

昆明网站快照优化公司抖音网红代运营

#AI技术服务 #AI智能应用 #AI合同 #合同AI服务 斯坦福大学的AI指数报告指出:“中国人对AI的态度最为积极……” 这一观点应是基于一系列的观察和研究得出的结果。如果这一观点成立,那么它或许说明了以下几个层面的意义: 首先,政策支持与…

网站推广常用方法有哪些对网站开发实训的建议

题目描述 给出N个数,要求把其中重复的去掉,只保留第一次出现的数。 例如,给出的数为1 2 18 3 3 19 2 3 6 5 4,其中2和3有重复,去除后的结果为1 2 18 3 19 6 5 4。 输入描述: 输入第一行为正整数T,表示…

公司网站公司哪家好贵州省城乡建设厅官网

const oldData yield select(({ baseDictionary }) > {return ([...customPageSetting.list,]) });

开网站购买的服务器放自己家还是放别人那里官方网站下载拼多多

学习作用域、变量提升、闭包等语言特征,加深对 JavaScript 的理解,掌握变量赋值、函数声明的简洁语法,降低代码的冗余度。 理解作用域对程序执行的影响 能够分析程序执行的作用域范围 理解闭包本质,利用闭包创建隔离作用域 了解…

门户类型的网站小小课堂seo自学网

2024年认证杯SPSSPRO杯数学建模 B题 神经外科手术的定位与导航 原题再现: 人的大脑结构非常复杂,内部交织密布着神经和血管,所以在大脑内做手术具有非常高的精细和复杂程度。例如神经外科的肿瘤切除手术或血肿清除手术,通常需要…

互联网个人用户网站福州到泉州

CNAS认可是中国合格评定国家认可委员会的英文缩写,由国家认证认可监督管理委员会批准设立并授权的国家认可机构,统一负责对认证机构、实验室和检验机构等相关机构的认可工作。 在软件测试行业,CNAS认可具有重要意义。它标志着一个软件测试公…

淘宝做详情页代码网站微信推广平台哪个好

1.变量的处理 1.1 如果parameter变量值为空,那么返回str字符串。 ${parameter:-str} 1.2 如果parameter变量值为空,那么str替代变量值,且返回其值。 ${parameter:str} 1.3 如果parameter变量值为空,那么str当作stderr输出&am…

培训网站推广杭州公司网站设计

FreeSWITCH 简单图形化界面38 - 在uniapp中使用JsSIP进行音视频呼叫 0、测试环境1、学习uniapp2、测试代码main.jsutils/render.jsstore/data.jspages/index/index.vuepages.json 3、效果4、难点 0、测试环境 http://myfs.f3322.net:8020/ 用户名:admin&#xff0c…

西安网站建设易网宣杭州推广公司排名

描述 电压跟随电路 电压跟随器是共集电极电路,信号从基极输入,射极输出,故又称射极输出器。基极电压与集电极电压相位相同,即输入电压与输出电压同相。这一电路的主要特点是:高输入电阻、低输出电阻、电压增益近似为…

电子商务网站建设方面的论文市场营销策略模板

文章目录 前言ClassLoaderJAVA SPI机制Spring SPI机制示例原理 如何加载jar包里的class 前言 Java的SPI机制与Spring中的SPI机制是如何实现的? ClassLoader 这里涉及到了class Loader的机制,有些复杂,jdk中提供默认3个class Loader&#x…

英文网站建设方案模板高校seo优化的常用手法

登入的角色本身属于领导级别(集团权限),没有下级的不同权限: 切换不同身份(公司),以获得相应部门的不同导航菜单及权限 这里实现:更改角色权限后,实现页面 不刷新 更改…

新泰网站定制郑州专业的建网站

对象指针 实验介绍 本节实验专门介绍对象指针相关内容。指针是一把双刃剑,用好了非常顺手使用,但同时也好要小心使用指针。指针是 C/C++ 语言的特点,只有掌握好指针才能学习到精髓。 知识点 对象指针对象成员指针this 指针对象指针 在前面的实验中已经使用过对象指针,本…

昆山商城网站建设公司名高端大气不重名

APache Dubbo简介 Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式…

网站建设数据库实训体会定制化软件

绪论 1)信息,消息,信号通信:利用电(或者光)信号传输消息中所包含的信息。信息:消息的内涵。 消息:信息的物理表现形式。(可分为两类连续消息语音,音乐&#x…

网页建站总结报告不一样的婚恋网站怎么做

题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。 输入:8 输出:7 用list实现循环遍历的过程 import copy a[1,2,3,4…