leetcode-114. Flatten Binary Tree to Linked List
来源:互联网 发布:武极天下神迹进阶数据 编辑:程序博客网 时间:2024/06/06 23:19
leetcode-114. Flatten Binary Tree to Linked List
题目:
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 a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public void flatten(TreeNode root) { Stack<TreeNode> sta = new Stack<TreeNode>(); TreeNode tmp = root; while(tmp!=null){ if(tmp.right!=null){ sta.push(tmp.right); tmp.right =null; } if(tmp.left != null){ tmp.right = tmp.left; tmp.left = null; } if(tmp.right==null && !sta.isEmpty()){ tmp.right = sta.pop(); } tmp = tmp.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
- 弹性盒布局-----指定水平方向与垂直方向上的对齐方式
- MDB中cell的格式
- android的Intent的action大全
- 关于日期筛选的完结版
- apc缓存
- leetcode-114. Flatten Binary Tree to Linked List
- Android -面向对象开发思维模式-帮助你逃离面向过程的开发的痛苦深渊
- Failed to initialize storage module: user 的解决方案
- 全排列问题
- 数据结构与算法JavaScript描述[第五章](队列)
- Xshell远程控制linux
- 006_深入浅出mysql—触发器
- linux crontab & 每隔10秒执行一次
- ideal15的创建maven项目