[LeetCode] Flatten Binary Tree to Linked List
来源:互联网 发布:网络三剑客官方下载 编辑:程序博客网 时间:2024/05/20 16:40
Total Accepted: 10982Total Submissions:40794My Submissions
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
/** * 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 node = root.left; if (root.left != null) { // get last node in left tree while (node.right != null) node = node.right; node.right = root.right; root.right = root.left; root.left = null; } }}
public class Solution { // store current last node private TreeNode last; public void flatten(TreeNode root) { if (root == null) return; TreeNode tmp = root.right; if (last == null) last = root; else { last.right = root; last = root; } flatten(root.left); flatten(tmp); root.left = null; }}
// without recursionpublic class Solution { // store current last node public void flatten(TreeNode root) { while (root != null) { if (root.left != null) { // get bigest element in left tree TreeNode p = root.left; while (p.right != null) p = p.right; p.right = root.right; root.right = root.left; root.left = null; } root = root.right; } }}
0 0
- LeetCode: Flatten Binary Tree to Linked List
- LeetCode Flatten Binary Tree to Linked List
- LeetCode: Flatten Binary Tree to Linked List
- [Leetcode] Flatten Binary Tree to Linked List
- [LeetCode] Flatten Binary Tree to Linked List
- Leetcode: Flatten Binary Tree to Linked List
- leetcode Flatten Binary Tree to Linked List
- LeetCode Flatten Binary Tree to Linked List
- LeetCode - Flatten Binary Tree to Linked List
- 【leetcode】Flatten Binary Tree to Linked List
- [LeetCode]Flatten Binary Tree to Linked List
- [Leetcode]Flatten Binary Tree to Linked List
- [leetcode]Flatten Binary Tree to Linked List
- LeetCode-Flatten Binary Tree to Linked List
- [leetcode] Flatten Binary Tree to Linked List
- LeetCode - Flatten Binary Tree to Linked List
- LeetCode:Flatten Binary Tree to Linked List
- [LeetCode] Flatten Binary Tree to Linked List
- 设置修改CentOS系统时区
- PMC为OCP提供业界最高密度机架级存储
- js数组长度获取问题?
- Qt QTreeWidget的行间距设置
- hdu2258 Continuous Same Game (1)
- [LeetCode] Flatten Binary Tree to Linked List
- 1002. Grading
- 2014-4-22 关于数据库的date类型操作
- 关于target is null for setProperty的问题总结
- 九度剑指Offer面试题9:斐波那契数列(Java题解)
- android相机如何只显示处理后的图像以及这里onPreviewFrame不被调用的原因
- 线程插入技术详解
- Unity3d发送邮件
- hdu2289 CUP