Given a binary tree, flatten it to a linked list in-place.
For example,
Given
1 / \ 2 5 / \ \ 3 4 6
The flattened tree should look like:
1 \ 2 \ 3 \ 4 \ 5 \ 6
Hints:
If you notice carefully in the flattened tree, each node's right child points to the next node of a pre-order traversal.
/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ public class Solution { public void flatten(TreeNode root) { if (root == null) { return; } flatten(root.left); flatten(root.right); TreeNode leftTmp = getLastNode(root.left); if (leftTmp != null) { leftTmp.right = root.right; root.right = root.left; root.left = null; } } public TreeNode getLastNode(TreeNode root) { TreeNode result = root; if (result != null) { while (result.right != null) { result = result.right; } } return result; } }
相关推荐
Flatten Binary Tree to Linked List Populating Next Right Pointers in Each Node II 二叉树的构建 Construct Binary Tree from Preorder and Inorder Traversal Construct Binary Tree from Inorder and ...
文章目录Tree and Divide Conquer一、树的性质Divide and Conquer模版114 Flatten Binary Tree to Linked List1)从最简单的case开始2)一般case3) merge总结 一、树的性质 参考:Tree总结 由于树的结构,这种数据...
leetcode做过的LeetCode的题目记录一下。对一些比较经典的题型进行分类总结。数据结构 数组 字符串 队列 链表 双指针 栈 堆 树 二叉搜索树 字典树 线段树 并查集 哈希表 图基础... Flatten Binary Tree to Linked List
leetcode 答案leetcode 的工具 这个项目提供了一些工具来更容易地测试 leetcode 答案。 树:切片 <-> TreeNode 此工具有助于将切片转换为 ...--name="Flatten Binary Tree to Linked List" --type=tree
Flatten-Binary-Tree-To-Linked-List
geojson-flatten 将文件中的MultiPoint,MultiPolygon,MultiLineString和GeometryCollection几何图形展平为简单的非复杂几何图形。 如果传入FeatureCollection,则返回FeatureCollection。 如果传入单个功能,则...
flatten_binary_tree_to_linked_list Java 中等的 100.00% 100.00% binary_tree_pruning Java 中等的 100.00% 100.00% insert_into_a_binary_search_tree Java 中等的 100.00% 100.00% maximum_level_sum_of_a_...
Laravel开发-flatten 用于照明框架的包,它将页面扁平化为纯HTML
* [Linked List](https://github.com/kamyu104/LeetCode#linked-list) * [Stack](https://github.com/kamyu104/LeetCode#stack) * [Queue](https://github.com/kamyu104/LeetCode#queue) * [Heap]...
西兰花压扁 扁平化文件树,因此所有...tree = flatten ( tree , options ) ; 选项 支持以下选项: destDir目录存放所有文件的位置 ###例子 var pickFiles = require ( 'broccoli-static-compiler' ) ; var flatten
命令行工具。拷贝多个目录下的指定文件到目标目录
lighthouse3d里面glsl教程3的例子
资源分类:Python库 所属语言:Python 资源全名:flatten_json-0.1.12.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
flatten()函数用法 flatten是numpy.ndarray.flatten的一个函数,即返回一个折叠成一维的数组。但是该函数只能适用于numpy对象,即array或者mat,普通的list列表是不行...‘C’ means to flatten in row-major (C-style)
flatten_gds.tcl
MojoHaus Flatten Maven插件 这是 。 1.0.x分支: 快速开始 这个插件会生成您pom.xml的扁平版本,并使maven可以安装和部署该版本,而不是原始pom.xml。 <groupId>org.codehaus.mojo <artifactId>flatten-...
flatten只能适用于numpy对象,即array或者mat,普通的list列表不适用!。 a.flatten():a是个数组,a.flatten()就是把a降到一维,默认是按行的方向降 。 a.flatten().A:a是个矩阵,降维后还是个矩阵,矩阵.A(等效...
import { flatten } from "array-flatten" ; flatten ( [ 1 , [ 2 , [ 3 , [ 4 , [ 5 ] , 6 ] , 7 ] , 8 ] , 9 ] ) ; //=> [1, 2, 3, 4, 5, 6, 7, 8, 9] ( function ( ) { flatten ( arguments ) ; //=> [1, 2, 3] ...
键被重写为path.to.nested.object 。安装$ npm install --save object-flatten例子有关完整示例,请参见 。 import flatten , { isLast } from 'object-flatten'const flattened = flatten ( isLast , { margin : {...
Flatten Maven插件 生产发布 开发发布 安装 相似的插件 插件功能 取代公开的身份 解决依赖版本范围 根据范围排除依赖项 可选地包括传递依赖 根据xml标签名称删除pom.xml成员 用生成的pom.xml.flatten切换项目pom....