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

LeetCode 114. 二叉树展开为链表

更多题解尽在 https://sugar.matrixlab.dev/algorithm 每日更新。
组队打卡,更多解法等你一起来参与哦!

LeetCode 114. 二叉树展开为链表,难度中等

DFS

解题思路:先用 DFS 遍历二叉树,将树的结果存放在 List 中,然后更新原先的二叉树。

/*** 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 preorderTraversal(List<TreeNode> traList, TreeNode root) {if (root == null) {return;}traList.add(root);preorderTraversal(traList, root.left);preorderTraversal(traList, root.right);}public void flatten(TreeNode root) {List<TreeNode> traList = new ArrayList<>();preorderTraversal(traList, root);TreeNode temp = root;for (int i = 1; i < traList.size(); ++i) {temp.right = traList.get(i);temp.left = null;temp = temp.right;}}
}
http://www.lryc.cn/news/414803.html

相关文章:

  • 78.子集
  • 历史标签如何时间迁移?
  • Jenkins参数化构建
  • 函数实例讲解(三)
  • 如何选择适合自己的编程语言?大学新生入门编程最佳路径指南
  • 编程的法则 依赖倒置原则 (Dependency Inversion Principle)包括如何实践
  • [数据集][目标检测]肾结石检测数据集VOC+YOLO格式1299张1类别
  • pxe安装部署
  • Linux用户-sudo命令
  • Unity强化工程 之 SpriteEditer Multiple
  • 大数据Flink(一百零九):阿里云Flink的基本名称概念
  • 如何利用AI工具延长摸鱼时间、准点下班?
  • Yarn:一个快速、可靠且安全的JavaScript包管理工具
  • 上线前端系统
  • 制作一个不依赖任何基础镜像的docker镜像
  • 【拓扑排序topsort】——启动!!!
  • 计算机网络-http协议和https的加密原理
  • 共享`pexlinux`数据文件的网络服务
  • HC32F4A0 10路串口UART 配置
  • 拯救PyCharm:击退IDE崩溃的终极策略
  • 深入解析Unix命令:掌握wc、whereis和which的使用技巧
  • 奥运会大规模使用中国AI大模型!
  • Linux中的线程3
  • 内网权限维持——利用WMI进行权限维持
  • 【数据结构算法经典题目刨析(c语言)】括号匹配问题(图文详解)
  • 浅谈 Spring AOP框架 (1)
  • Linux 面试准备 - 2024
  • C++笔记---类和对象(中)
  • 【C++】入门基础知识
  • AI的应用场景和未来展望