Flatten Binary Tree to Linked List
来源:互联网 发布:php 品质管理系统 编辑:程序博客网 时间:2024/05/02 02:11
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
Hints:
If you notice carefully in the flattened tree, each node’s right child points to the next node of a pre-order traversal.
如果没有特殊要求,一般二叉树的相关算法都可以递归实现,此题也不例外。
实现函数,扁平化二叉树,并返回叶子结点。代码如下:
void flatten(TreeNode* root) { if (root == nullptr) { return; } flattenTree(root);}TreeNode* flattenTree(TreeNode* root) { if (root->left == nullptr && root->right == nullptr) { return root; } TreeNode *rightEnd; if (root->left) { auto right = root->right; root->right = root->left; rightEnd = flattenTree(root->left); if (right) { rightEnd->right = right; rightEnd = flattenTree(right); } root->left = nullptr; } else if (root->right) { rightEnd = flattenTree(root->right); } return rightEnd;}
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
- PHP7 的抽象语法树(AST)带来的变化
- 1004 成绩排名 PAT
- CSS布局之图文混排,图像签名,多图拼接和图片特效
- HTML5之File文件操作
- Linux高性能服务器编程 第八章(高性能服务器程序框架)
- Flatten Binary Tree to Linked List
- poj2777线段树,状态压缩
- 2015广工校赛 Problem E: GDUT的实验室
- 帮助你学习泛型的一个小测试题
- 设计Qt风格的C++API
- hdu 5592 ZYB's Premutation (线段树)
- 1009 说反话 PAT
- 国际标准SHARE78七级灾难备份方案
- Linux下升级jdk