怎么上传网站到ftp人才市场网站建设论文

张小明 2026/1/17 8:42:05
怎么上传网站到ftp,人才市场网站建设论文,美工做图片网站,网页编辑超级工具箱【Leetcode606】二叉树转字符串#xff1a;前序遍历 括号精简规则#xff0c;一次递归搞定 题目要求把一棵二叉树转成字符串#xff0c;形式类似#xff1a;节点值直接输出左子树用 (left) 包起来右子树用 (right) 包起来空节点一般用 () 表示但要省略所有不影响一一映射的…【Leetcode606】二叉树转字符串前序遍历 括号精简规则一次递归搞定题目要求把一棵二叉树转成字符串形式类似节点值直接输出左子树用(left)包起来右子树用(right)包起来空节点一般用()表示但要省略所有不影响一一映射的空括号这句话很关键“省略不影响一一映射关系的空括号”意味着省略不能让结构变得模糊。1先把规则讲明白这是整题的灵魂对于一个节点root情况 A有左子树输出root(left...)左子树的括号不能省略因为它告诉读者“左边有东西”。情况 B没有左子树但有右子树输出root()(right...)这里左边必须输出()因为如果省掉()例如写成root(right...)读者会误以为右子树其实是左子树结构就对不上了。这就是示例 2 的核心原因。情况 C没有右子树右子树这一对括号可以省略因为右边啥都没有省了不会产生歧义。总结成一句口诀右子树存在而左子树不存在时左边的空括号必须保留除此之外能省则省。2整体解题思路递归前序遍历用前序遍历根→左→右去拼字符串访问当前节点拼接root.val处理左子树括号左不空拼( 左子树 )左空但右不空拼()处理右子树括号右不空拼( 右子树 )右空不拼直接省略为了高效拼字符串用StringBuilder避免大量字符串相加造成性能浪费。3来看这段代码整体结构classSolution{publicStringtree2str(TreeNoderoot){StringBuilderstringbuildernewStringBuilder();tree2strchild(root,stringbuilder);returnstringbuilder.toString();}publicvoidtree2strchild(TreeNoderoot,StringBuilderstringbuilder){if(rootnull)return;stringbuilder.append(root.val);if(root.left!null){stringbuilder.append(();tree2strchild(root.left,stringbuilder);stringbuilder.append());}else{if(root.rightnull)return;stringbuilder.append(());}if(root.right!null){stringbuilder.append(();tree2strchild(root.right,stringbuilder);stringbuilder.append());}else{return;}}}这份实现是典型的“在递归时直接把括号拼出来”没有额外数组、栈空间开销只有递归深度。4逐步拆解代码逻辑每一段在干嘛4.1 递归出口空节点直接返回if(rootnull)return;空节点不输出任何字符。注意题目里说“空节点用 () 表示”但那是“表示空孩子”的概念并不是说碰到 null 就无脑输出()——是否输出()取决于父节点规则尤其是“左空右不空”的场景。4.2 先输出当前节点值前序的“根”stringbuilder.append(root.val);这一步就是“根”。4.3 处理左子树左括号是否要输出if(root.left!null){stringbuilder.append(();tree2strchild(root.left,stringbuilder);stringbuilder.append());}else{if(root.rightnull)return;stringbuilder.append(());}分两类情况左子树存在输出(left...)也就是先拼(递归拼左子树内容再拼)左子树不存在这里又分两种如果右子树也不存在直接return因为左右都空当前节点已经输出完了不需要额外括号如果右子树存在必须输出()这是保留“一一映射”的关键告诉读者“左边是空的右边才有东西”这段代码准确实现了规则 B 和规则 C。4.4 处理右子树右括号是否要输出if(root.right!null){stringbuilder.append(();tree2strchild(root.right,stringbuilder);stringbuilder.append());}else{return;}右子树存在就输出(right...)不存在直接省略return 结束当前节点处理。5用示例走一遍为什么会输出正确结果示例 1root [1,2,3,4]结构是1 / \ 2 3 / 4递归过程按拼接顺序访问 1输出1左存在输出( ... )访问 2输出2左存在输出( ... )访问 4输出44 左空右空直接结束不加括号2 右空省略右存在输出( ... )访问 3输出33 左空右空结束最终1(2(4))(3)✅示例 2root [1,2,3,null,4]1 / \ 2 3 \ 4关键节点是 22 左空但右不空有 4必须输出2()(4)如果省略()会变成2(4)读者会理解成“4 是 2 的左孩子”结构就错了。这就是题目强调“一对一映射”时()必须保留的唯一典型场景。6复杂度分析时间复杂度O(n)每个节点访问一次拼接一次括号是常数次追加空间复杂度O(h)递归栈深度h为树高极端退化链表时最坏O(n)7易错点重点提醒写这题最常翻车的地方不是所有 null 都输出()()是由父节点决定是否需要表达空左孩子的。“左空右不空”时必须输出()否则结构信息丢失无法保持一一映射。字符串拼接别用反复连这题节点最多 10^4用StringBuilder是更稳的选择。8小结这题的正确解法可以概括为一句话前序遍历输出节点值左右子树用括号包裹只有在“左空右不空”时必须补()其余空括号能省则省。把这个规则记牢代码就会写得非常顺且不容易漏掉示例 2 这种“最爱卡人”的用例。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

四川网站建设外包业务中山市规划建设局网站

脚本编程中的条件判断、输入读取与逻辑控制 1. 脚本退出状态与函数返回值 在脚本中, exit 命令用于设置脚本的退出状态。它接受一个可选的整数参数,若未传递参数,退出状态默认值为 0。例如,当脚本中 $FILE 扩展为不存在的文件名时,使用 exit 可表明脚本执行失败。示…

张小明 2025/12/25 17:59:57 网站建设

做网站推广好做么网站的维护和建设

1889企业数字技术风险暴露(2007-2023)数据简介在当前数字经济蓬勃发展的时代,企业积极进行数字化转型,但这一过程中也伴随着各种风险。通过研究数字技术风险,构建数字技术风险暴露程度衡量指标,可以深入了解企业在数字技术应用方面…

张小明 2026/1/15 20:00:30 网站建设

免费无限建站系统网页设计实训报告范文

一、安装 Python 1. 下载 Python Python 官方网站提供了适用于 Windows、macOS 和 Linux 的安装包: 👉 访问官网:https://www.python.org 点击页面上的 “Downloads” 按钮,系统会自动推荐适合你操作系统的最新版本&#xff08…

张小明 2025/12/25 17:59:59 网站建设

陵水网站建设python在线运行

Linux网络与打印配置全解析 1. 使用超级服务器 超级服务器可管理多个小型服务器,但并非能管理所有服务器程序。有些服务器有超级服务器无法满足的需求,例如服务器可能需要在访问间隙在内存中维护信息,若超级服务器每次访问都启动新实例,这种维护就无法实现。 实际操作中…

张小明 2025/12/27 10:15:48 网站建设

装修网站建设摘要网站建设公司的会计分录

通达信数据读取的终极指南:Python金融分析从入门到精通 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx 🚀 还在为获取股票数据而烦恼吗?MooTDX让通达信数据读取…

张小明 2025/12/25 18:00:04 网站建设

劳动法24小时免费咨询网站优化要从哪些方面做

云服务器与传统物理服务器的核心差异在于“资源模式”与“管理责任”。企业需要根据业务需求、技术能力、成本预算等因素综合选择。资源模式方面,传统服务器需企业自行采购、部署、维护,初期投入高(如服务器硬件、机房建设)&#…

张小明 2026/1/6 16:08:35 网站建设