Flatten Binary Tree to Linked List
来源:互联网 发布:神户钢铁造假 知乎 编辑:程序博客网 时间:2024/05/16 11:15
题目描述:
Given a binary tree, flatten it to a linked list in-place.
For example,
Given
1 / \ 2 5 / \ \ 3 4 6The flattened tree should look like:
1 \ 2 \ 3 \ 4 \ 5 \ 6解题思路:
使用先序遍历,并利用一个额外的变量last保存遍历过的结点中的最后一个,
在先序遍历的过程中更新last即可
AC代码如下:
class Solution {public:void flatten(TreeNode* root) {if (root == NULL) return;TreeNode* last = NULL;preorderTravel(root, last);}void preorderTravel(TreeNode* root, TreeNode*& last){if (root == NULL) return;TreeNode* left = root->left;TreeNode* right = root->right;if (last != NULL){last->right = root;}root->left=NULL;last = root;preorderTravel(left, last);preorderTravel(right, last);}};
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
- 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
- Flatten Binary Tree to Linked List
- Flatten Binary Tree to Linked List
- LeetCode - Flatten Binary Tree to Linked List
- 【leetcode】Flatten Binary Tree to Linked List
- Flatten Binary Tree to Linked List
- [LeetCode]Flatten Binary Tree to Linked List
- Flatten Binary Tree to Linked List
- Flatten Binary Tree to Linked List
- Flatten Binary Tree to Linked List
- hdu1198 不一样的搜索水题
- 1005. Spell It Right (20)
- HTML+CSS基础课程(一)
- 上帝慈爱的创造
- [Android]多module合成单一module技巧
- Flatten Binary Tree to Linked List
- nyoj 20 吝啬的国度
- iOS中实现代理传值
- JavaScript中Math对象和test()方法
- 每日一记-Git使用中遇到的小问题
- Maximum Product Subarray
- 2016多校第三场 1004 HDU 5755 高斯消元
- 树莓派 Learning 002 装机后的必要操作 --- 01 解决上网问题
- Android自定义控件----YluoTextView可以改变Drawable大小颜色的TextView