问题描述

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

例如,给定二叉树

1/ \2   5/ \   \
3   4   6

将其展开为:

1\2\3\4\5\6

代码

/*** 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) {def(root);}TreeNode def(TreeNode root) {if(root==null)return null;if(root.left==null) {if(root.right==null)return root;elsereturn def(root.right);}if(root.left.left==null&&root.left.right==null) {if(root.right==null){root.right=root.left;root.left=null;return root.right;}root.left.right=root.right;root.right=root.left;root.left=null;return def(root.right.right);}TreeNode left=def(root.left);TreeNode right=def(root.right);left.right=root.right;root.right=root.left;root.left=null;if(right==null)return left;return right;}
}

Leetcode之二叉树展开为链表(深搜)相关推荐

  1. LeetCode 114. 二叉树展开为链表(递归)

    1. 题目 给定一个二叉树,原地将它展开为链表(右侧路径). 例如,给定二叉树1/ \2 5/ \ \ 3 4 6 将其展开为:1\2\3\4\5\6 来源:力扣(LeetCode) 链接:https ...

  2. Leetcode 114.二叉树展开为链表

    Time: 20190901 Type: Medium 题目描述 给定一个二叉树,原地将它展开为链表. 例如,给定二叉树 1/ \2 5/ \ \ 3 4 6 将其展开为: 1\2\3\4\5\6 来 ...

  3. LeetCode 114 二叉树展开为链表

    题目链接:力扣​​​​​​ 思路:递归 递归函数声明: void flatten(TreeNode* root); 递归出口: 如果根节点为空,返回(不操作) 如果只有根节点,返回 (不操作) 递归体 ...

  4. Leetcode 114. 二叉树展开为链表 解题思路及C++实现

    解题思路: 使用递归的方法.根结点的左子树中,最右边的节点是左子树成为链表后的最后一个节点,找到这个节点,然后把这个节点的右节点指向根结点的右子树,同时,将根结点右子节点指向其左子节点,根结点的左子节 ...

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. 20165334 四则运算阶段性总结(第二周)
  2. lia人是什么意思_狗狗喜欢舔人到底什么意思?毛孩的心思主人你要懂
  3. CF451E-Devu and Flowers【组合计数,容斥】
  4. leetcode328 奇偶链表
  5. python 消息中间件_消息队列中间件 RabbitMQ 详细介绍——安装与基本应用(Python)...
  6. (转)Hadoop入门进阶课程
  7. Android 应用开发(42)---ImageView
  8. TensorFlow tf.keras.layers.Dense
  9. 单一职责原则 (Single Responsibility Principle,SRP)
  10. VB6.0鼠标注册详细教程
  11. 解决双屏显示不一致的问题
  12. 跨境电商亚马逊2022年再去做亚马逊好做吗
  13. 【案例】泰康集团——泰生活APP A/B测试平台场景应用
  14. 内存溢出(out of memory)是内存不足吗?Outofmemory error怎么解决?
  15. javascript操作select元素一例
  16. js破解 零度代理ip
  17. 将字符串转换为singel类型
  18. SylixOS 经得起检验的国产操作系统 (一)
  19. java/php/net/pythont羽毛球场地管理系统设计
  20. 计算机理论导引 试卷,计算机理论导引实验————ADFA的可判定性

热门文章

  1. Python_日记 序列化和反序列化
  2. Android 屏幕旋转 处理 AsyncTask 和 ProgressDialog 的最佳方案
  3. 算法-获取质数(素数)数组
  4. MFC 的几个常用函数,用来计算文件大小,下载速度,转换时间的
  5. Php 类似coffeescript,十个CoffeeScript一行程序——震惊你的小伙伴
  6. 拓端tecdat|R语言量化交易RSI策略:使用支持向量机SVM
  7. 拓端tecdat|R语言相关分析和稳健线性回归分析
  8. Python_将conda里的环境导入到pychram中
  9. SQL Server 环境搭建
  10. 短网址算法 php,PHP短网址生成算法