给定一个二叉树,原地将它展开为链表。

例如,给定二叉树

1
   / \
  2   5
 / \   \
3   4   6
将其展开为:

1
 \
  2
   \
    3
     \
      4
       \
        5
         \
          6

思路:所有左子树的最右节点接上右子树即可。

比如例子中:3接上4,4接上5

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode(int x) { val = x; }* }*/
class Solution {public void flatten(TreeNode root) {while (root != null) {if (root.left != null) {// 找左子树最右边的节点TreeNode pre = root.left;while (pre.right != null)pre = pre.right;//将原来的右子树接到左子树的最右边节点pre.right = root.right;// 将左子树插入到右子树的地方root.right = root.left;root.left = null; }//考虑下一个节点root = root.right;}}
}

leetcode114. 二叉树展开为链表相关推荐

  1. leetcode--114 二叉树展开为链表

    给定一个二叉树,原地将它展开为链表. 例如,给定二叉树 1/ \2 5/ \ \ 3 4 6 将其展开为: 1\2\3\4\5\6 AC: /*** Definition for a binary t ...

  2. leetcode114. 二叉树展开为链表(深度优先搜索)

    给定一个二叉树,原地将它展开为一个单链表.例如,给定二叉树1/ \2 5/ \ \ 3 4 6 将其展开为:1\2\3\4\5\6 代码 class Solution {public void fla ...

  3. 114. Flatten Binary Tree to Linked List 二叉树展开为链表

    给定一个二叉树,原地将它展开为一个单链表. 例如,给定二叉树 1/ \2 5/ \ \ 3 4 6 将其展开为: 1\2\3\4\5\6 前序遍历 将二叉树展开为单链表之后,单链表中的节点顺序即为二叉 ...

  4. 114. 二叉树展开为链表 golang

    114. 二叉树展开为链表 给定一个二叉树,原地将它展开为链表. 例如,给定二叉树 1/ \2 5/ \ \ 3 4 6 将其展开为: 1\2\3\4\5\6 Code /*** Definition ...

  5. java二叉树转换为链表_leetcode刷题笔记-114. 二叉树展开为链表(java实现)

    leetcode刷题笔记-114. 二叉树展开为链表(java实现) 题目描述 给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链表应该同样使用 TreeNode ,其中 rig ...

  6. [Leetcode][第114题][JAVA][二叉树展开为链表][递归][迭代]

    [问题描述][中等] [解答思路] 1. 前序遍历 将二叉树展开为单链表之后,单链表中的节点顺序即为二叉树的前序遍历访问各节点的顺序.因此,可以对二叉树进行前序遍历,获得各节点被访问到的顺序. 由于将 ...

  7. 力扣114. 二叉树展开为链表(C++,解释一下别人的思路)

    题目链接: 114. 二叉树展开为链表 - 力扣(LeetCode) (leetcode-cn.com)https://leetcode-cn.com/problems/flatten-binary- ...

  8. 【LeetCode】【HOT】114. 二叉树展开为链表(原地置换)

    [LeetCode][HOT]114. 二叉树展开为链表 文章目录 [LeetCode][HOT]114. 二叉树展开为链表 package hot;import java.util.ArrayLis ...

  9. 刷题记录8---验证二叉搜索树+二叉树的层序遍历+从前序与中序遍历序列构造二叉树+二叉树展开为链表+二叉树的最近公共祖先

    前言 所有题目均来自力扣题库中的hot 100,之所以要记录在这里,只是方便后续复习 98.验证二叉搜索树 题目: 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树. 有效 二叉搜 ...

最新文章

  1. iOS 对UIImage进行的一些操作
  2. fast软件_自媒体者遇见喜欢好听的视频背景音乐,用一款软件就可以把它提取...
  3. 曲阜有学计算机的学校吗,曲阜职业中专计算机专业课程上几年
  4. matlab中blur函数_游戏中的PostProcessing(后处理)
  5. STM32F407 CubeMx使用定时器测量信号频率 分辨率0.001Hz
  6. WebBrowser设置打印页眉页眉和页边距
  7. 11、Jsp加强/EL表达式/jsp标签
  8. [Ext JS 4] 实战之升级系列一[Ext jS 3--Ext JS 4]
  9. php可变方法,php 函数使用可变数量的参数方法
  10. Python自然语言处理学习笔记(41):5.2 标注语料库
  11. 【Asp.Net】GridView控件中Datakeys和DataKeyNames的说明
  12. 旋转矩阵中6保6_旋转矩阵公式中6保5
  13. 网络安全实验室之基础关
  14. Python实现修正cholesky分解
  15. 2021年全国省市区街道代码自动同步(包含解决方案)
  16. 计算机进制转换练习,二进制十进制八进制十六进制转换练习题.docx
  17. QQ5.1 去广告显IP新春完美版【木子李作品】
  18. 【java】英语单词对战小游戏
  19. FPGA仿真--前仿真和后仿真
  20. matlab 增量学习,支持向量机在线增量学习算法的MATLAB实现

热门文章

  1. python目标识别代码_利用ImageAI库只需几行python代码超简实现目标检测
  2. nodejs cluster ip hash_redis集群架构了解一下?一致性hash了解吗?
  3. 英伟达_如何超越英伟达?
  4. sqlite3_exec
  5. 正在读取软件包列表... 有错误!
  6. string也可以很精彩
  7. JAGUARSDN1网络的开机自动启动 禁用,WIFI模块的启动关闭控制
  8. 在mac上用文本编辑器写python_Mac系统Python解释器、PyCharm编辑器安装及使用方法详解...
  9. 【转】Postman系列三:Postman中post接口实战(上传文件、json请求)
  10. Azure手把手系列 4:深入了解Azure 一块钱当三块用