LeetCode 114 Flatten Binary Tree to Linked List
2014-08-15 14:17
525 查看
题目
Given a binary tree, flatten it to a linked list in-place.
For example,
Given
The flattened tree should look like:
思路
1 能够想到这其实是中序遍历的变形,就成功一半了。
2 一个节点左边的遍历好,然后处理一下,再遍历右边。
3处理的部分为:这个节点的左边设为null,右边接左边处理好的内容,再接原右边。
4 逻辑清楚了,代码自然也就清楚。
代码
15.4.14
可以用递归算法,更加简洁。看代码就能够理解意思
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
思路
1 能够想到这其实是中序遍历的变形,就成功一半了。
2 一个节点左边的遍历好,然后处理一下,再遍历右边。
3处理的部分为:这个节点的左边设为null,右边接左边处理好的内容,再接原右边。
4 逻辑清楚了,代码自然也就清楚。
代码
public class Solution { public void flatten(TreeNode root) { if(root ==null){ return ; } TreeNode oldleft = root.left; TreeNode oldright = root.right; root.left = null; flatten(left); if(left!=null){ root.right = left; TreeNode cur = left; while(cur.right!=null){ cur = cur.right; } cur.right = right; } flatten(right); } }
15.4.14
可以用递归算法,更加简洁。看代码就能够理解意思
public class Solution { public void flatten(TreeNode root) { if(root == null){ return; } while(root!=null){ if(root.left!=null){ TreeNode cur = root.left; while(cur.right!=null){ cur = cur.right; } cur.right = root.right; root.right = root.left; root.left =null; } root = root.right; } } }
相关文章推荐
- LeetCode 114 Flatten Binary Tree to Linked List
- leetcode 114: Flatten Binary Tree to Linked List
- [Leetcode 114, Medium] 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
- LeetCode_114 Flatten Binary Tree to Linked List
- 【LeetCode-面试算法经典-Java实现】【114-Flatten Binary Tree to Linked List(二叉树转单链表)】
- LeetCode(114) Flatten Binary Tree to Linked List
- LeetCode: Flatten Binary Tree to Linked List [114]
- [leetcode 114] Flatten Binary Tree to Linked List
- 【LeetCode从零单排】No 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
- leetcode_question_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
- LeetCode114 Flatten Binary Tree to Linked List