114. Flatten Binary Tree to Linked List
2015-04-18 14:01
281 查看
题目:
Given a binary tree, flatten it to a linked list in-place.
For example,
Given
The flattened tree should look like:
click to show hints.
Hints:
If you notice carefully in the flattened tree, each node's right child points to the next node of a pre-order traversal.
链接: http://leetcode.com/problems/flatten-binary-tree-to-linked-list/
题解:
使用栈来辅助,很像先序遍历。也可以用recursive和Morris-travel。
Time Complexity - O(n), Space Complexity - O(n)。
测试:
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
click to show hints.
Hints:
If you notice carefully in the flattened tree, each node's right child points to the next node of a pre-order traversal.
链接: http://leetcode.com/problems/flatten-binary-tree-to-linked-list/
题解:
使用栈来辅助,很像先序遍历。也可以用recursive和Morris-travel。
Time Complexity - O(n), Space Complexity - O(n)。
public class Solution { public void flatten(TreeNode root) { if(root == null) return; Stack<TreeNode> stack = new Stack<TreeNode>(); TreeNode node = root; while(node != null || !stack.isEmpty()){ if(node.right != null){ stack.push(node.right); } if(node.left != null){ node.right = node.left; node.left = null; } else { if(!stack.isEmpty()) node.right = stack.pop(); } node = node.right; } } }
测试:
相关文章推荐
- 114. Flatten Binary Tree to Linked List
- 114. Flatten Binary Tree to Linked List
- 114. Flatten Binary Tree to Linked List
- 114. Flatten Binary Tree to Linked List
- 【LEETCODE】114-Flatten Binary Tree to Linked List
- leetcode 114: Flatten Binary Tree to Linked List
- leetcode 114 Flatten Binary Tree to Linked List
- 114. Flatten Binary Tree to Linked List
- 114. Flatten Binary Tree to Linked List (Medium)
- 【LeetCode-面试算法经典-Java实现】【114-Flatten Binary Tree to Linked List(二叉树转单链表)】
- 114. Flatten Binary Tree to Linked List
- LeetCode114 Flatten Binary Tree to Linked List
- 【LeetCode-面试算法经典-Java实现】【114-Flatten Binary Tree to Linked List(二叉树转单链表)】
- 114. Flatten Binary Tree to Linked List
- 114. Flatten Binary Tree to Linked List
- [Leetcode] #114 Flatten Binary Tree to Linked List
- LeetCode(114)Flatten Binary Tree to Linked List
- leetcode114~Flatten Binary Tree to Linked List
- leetcode_114_Flatten Binary Tree to Linked List
- 114. Flatten Binary Tree to Linked List