LeetCode-Flatten Binary Tree to Linked List
来源:互联网 发布:欧冠足球2 球员数据 编辑:程序博客网 时间:2024/06/08 19:44
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:
Solution:If you notice carefully in the flattened tree, each node's right child points to the next node of a pre-order traversal.
Code:
<span style="font-size:14px;">/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: TreeNode * helper(TreeNode *root) { if (!root) return root; if (!root->left && !root->right) return root; TreeNode *leftEnd = helper(root->left); TreeNode *rightEnd = helper(root->right); TreeNode *right = root->right; if (root->left) { root->right = root->left; root->left = NULL; leftEnd->right = right; } if (right) return rightEnd; else return leftEnd; } void flatten(TreeNode *root) { if (!root) return; helper(root); }};</span>
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
- python学习_入门(2)
- (老罗)Android帧缓冲区(Frame Buffer)硬件抽象层(HAL)模块Gralloc的实现原理分析
- hdu 4901 The Romantic Hero (dp+背包问题)
- poj 2886 Who Gets the Most Candies?(数据结构:线段树+DFS反素数打表)
- 机器学习10大经典算法
- LeetCode-Flatten Binary Tree to Linked List
- TX2440 ARM开发板Uboot移植 (六、实现启动快捷菜单)
- 如何实现“WinForm窗体禁用关闭按钮”方法功能及源代码
- php抽象类
- hdu 1049 Climbing Worm
- POJ 1789 Truck History
- SQLite创建数据库失败
- CALL指令有多少种写法
- poj 1704 Nim取子变形(一路向左)