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

leetcode144.二叉树展开为链表

思路源自 

leetcode-树篇 114题 二叉树展开为链表

 对于当前结点来说,先把左子树全部拉平成链表,再把右子树也全部拉平成链表

然后记录当前结点的右子树起始点temp,把当前结点右指针指向左子树,左子树的最右下边的结点的右指针指向一开始记录的temp,最后就拉平成链表了

/**
 * 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) {
            flatten(root.left);
            flatten(root.right);
            TreeNode temp = root.right;
            root.right=root.left;
            root.left = null;
            while (root.right!=null) root=root.right;
            root.right = temp;
        }
    }
}

 

http://www.dtcms.com/a/101400.html

相关文章:

  • Linux SCP传输文件免密配置
  • 硕士毕设-语义分割-4-通过grounding-sam生成效果很好的pesudo
  • 【图论】最短路径问题总结
  • 伴伴租赁系统-物品售卖-二手回收-物品租赁-支持微信/支付宝小程序/app/h5
  • 通过Spring Boot集成WebSocket进行消息通信
  • Java开发者指南:深入理解HotStuff新型共识算法
  • 图文档的安全管理软件有哪些?
  • pyproj 库中 Geod 类讲解
  • RK3568使用gpio子系统完成led驱动程序编写
  • f103.delay,teitou
  • docker-compose部署prometheus+grafana+node_exporter+alertmanager规则+邮件告警
  • DevOps部署平台
  • 【数论2】
  • 【ArcGIS操作】ArcGIS 进行空间聚类分析
  • 全星研发管理APQP软件系统:驱动汽车产品研发全周期,打造高效合规的质量管理引擎
  • TDengine 中的关联查询
  • Java康威生命游戏(Conway‘s Game of Life)
  • opencv图像处理之指纹识别
  • Java并发编程笔记
  • unity3d端监听 uri scheme
  • 解决Docker端口映射后外网无法访问的问题
  • Leetcode-100 回溯法-单词搜索
  • c#中的virtual方法
  • redis错误分析 forceUnlock的问题说明
  • #基于Django实现机器学习医学指标概率预测网站
  • 双塔模型2之如何选择正确的正负样本
  • Matlab基础知识与常见操作【无痛入门】
  • GPT Workspace体验
  • # 基于 OpenCV 的选择题自动批改系统实现
  • 预测地震的方法,如何使用AI和量子传感器发挥作用?