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

力扣热门100题之二叉树展开为链表

核心思路(3 步,超级好记)

  1. 递归展开左子树
  2. 递归展开右子树
  3. 拼接
    • 左子树移到右边
    • 原来的右子树接到链表末尾
    • 左指针全部设为null

完整代码实现:

/** * 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 { public void flatten(TreeNode root) { if (root == null) return; // 1. 先把左右子树分别展开 flatten(root.left); flatten(root.right); // 2. 把展开后的左子树接到 root 的右边 TreeNode right = root.right; // 保存原来的右子树 root.right = root.left; root.left = null; // 左指针置空 // 3. 找到现在右子树的最后一个节点,接上原来的右子树 TreeNode cur = root; while (cur.right != null) { cur = cur.right; } cur.right = right; } }

一句话总结

先展开左右 → 左换右 → 末尾接原右 → 左置空

http://www.jsqmd.com/news/612590/

相关文章:

  • 3分钟快速上手:ncmdumpGUI终极NCM音乐解密转换指南
  • 如何快速安装code-box:5分钟搞定浏览器插件配置
  • SparkMD5 状态管理深度解析:如何轻松暂停和恢复增量哈希计算
  • 百川2-13B中文优势:OpenClaw在古籍数字化中的实践案例
  • 如何通过单机游戏增强工具提升暗黑破坏神2游戏体验?
  • FanControl中文配置终极指南:5分钟搞定完美风扇控制
  • Lychee-Rerank赋能网络安全:恶意日志信息的智能关联分析
  • 广东智能家居控制系统哪里买? - 中媒介
  • ComfyUI-WanVideoWrapper:突破显存限制的视频生成全栈解决方案
  • 如何高效下载小红书无水印内容?XHS-Downloader让内容采集效率提升3倍
  • 宁德时代斥资41亿入股中恒投资科技 后者实控人朱国锭已未任职
  • JPEXS Free Flash Decompiler:终极Flash逆向工程解决方案
  • Java学习笔记:标识符
  • 颠覆级开源工具:7大维度重构原神游戏辅助体验
  • 广东智能家居方案哪家性价比高? - 中媒介
  • 等离子清洗机核心技术深度解析:从放电原理到宽幅处理,宁波普瑞思SPK-500S如何提升表面处理效能? - 品牌推荐大师
  • 俱美开放平台:外卖霸王餐API接口及外卖霸王餐CPS架构设计思路
  • Z-Image-GGUF多场景应用:IP形象设计、PPT插图生成、短视频封面批量制作
  • DataRoom大屏设计器:5分钟高效构建专业数据可视化看板的开源解决方案
  • Z-Image-Turbo-辉夜巫女性能调优实战:剖析采样器与步数对生成速度和质量的影响
  • EdgeConnect未来发展方向:图像修复技术的前沿探索
  • GLM-OCR环境部署避坑指南:Anaconda虚拟环境配置详解
  • 如何高效识别微信单向好友?WechatRealFriends开源工具的技术实现与实战应用
  • 合肥汤面招商深度解析:如何精准锁定口碑与盈利兼具的优质品牌 - 2026年企业推荐榜
  • fast-memoize.js源码深度剖析:如何实现极致性能优化
  • OmenSuperHub:惠普游戏本性能释放与散热管理的轻量解决方案
  • 如何为你的PDF文档添加终极安全保护:mPDF加密和权限设置完整指南
  • 3步精通SWF反编译:开源工具实现Flash逆向工程深度解析
  • 生物医药设备预测性维护:发酵罐/冻干机实操解析,合规又高效
  • Ono与Swift完美集成:从Objective-C到现代iOS开发