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

【二叉树】114. 二叉树展开为链表

114. 二叉树展开为链表

解题思路

  • 后序遍历思路
  • 将root的左子树和右子树展平
  • 将root的右子树接到左子树下方 然后将整个左子树作为右子树

/*** 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) {// 将root的左子树和右子树展平// 将root的右子树接到左子树下方  然后将整个左子树作为右子树if(root == null){return ;}// 后序遍历的思路// 首先递归将树展平flatten(root.left);flatten(root.right);// 后序遍历 // 临时保存左子树TreeNode left = root.left;// 临时保存右子树TreeNode right = root.right;root.left = null;// 将root的左子树作为右子树root.right = left;// 将原先的右子树接到当前右子树的末端TreeNode temp = root;// 找到当前右子树的末尾while(temp.right != null){temp = temp.right;}temp.right = right;// 将原先的右子树连接到现在的右子树的末尾}
}
http://www.lryc.cn/news/131961.html

相关文章:

  • docker的安装与基础使用
  • python+django+mysql高校校园外卖点餐系统--计算机毕设项目
  • 获取excel中的图片(包含wps中嵌入单元格图片)
  • Git命令详解
  • 【STM32RT-Thread零基础入门】 4. 线程介绍(理论)
  • css学习3(三种样式表与样式控制优先级)
  • 【JS深层解析】内存
  • 第二章:25+ Python 数据操作教程(第十四节NUMPY 教程与练习)
  • Pycharm与Anaconda Python的开发环境搭建
  • 2.创建小程序
  • XenDesktop5.6如何连接数据库
  • OAuth2.0一 Spring Security OAuth2.0
  • 【linux】kernel编译时相关报错
  • C语言 功能型API --------------------strcat()
  • 企业展示小程序搭建指南
  • 大模型技术实践(一)|ChatGLM2-6B基于UCloud UK8S的创新应用
  • Flink状态和状态管理
  • 【3Ds Max】布料命令的简单使用
  • 用 VB.net,VBA 两种方式 读取单元格内的 换行数据,并出力到 CSV文件
  • kafka线上问题优化
  • FifthOne:用于矢量搜索的计算机视觉接口
  • 认识Axios
  • 系统架构设计专业技能 · 信息安全技术
  • kafka晋升之路-理论+场景
  • (牛客网)链表相加(二)
  • Vs code 使用中的小问题
  • vue2和vue3
  • 火山引擎ByteHouse:一套方案,让OLAP引擎在精准投放场景更高效
  • 【论文阅读】SHADEWATCHER:使用系统审计记录的推荐引导网络威胁分析(SP-2022)
  • Mac 使用 rar 命令行工具解压和压缩文件