Flatten Binary Tree to Linked List 将二叉树转为链表
2015-04-28 11:23
447 查看
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
[code]
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: //前序遍历 void flatten(TreeNode *root) { solve(root); } TreeNode *solve(TreeNode* root) { if(root==NULL||(root->left==NULL&&root->right==NULL)) return root; TreeNode* left=root->left; TreeNode* right=root->right; root->left=NULL; if(left!=NULL) { root->right=left; root=solve(left); } if(right!=NULL) { root->right=right; root=solve(right); } return root; } };
相关文章推荐
- Flatten Binary Tree to Linked List 将二叉树转换为链表
- [LintCode] 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:114_Flatten Binary Tree to Linked List | 将一棵二叉树变成链表的形式 | Medium
- LeetCode OJ 之 Flatten Binary Tree to Linked List (把二叉树转换成链表)
- Flatten Binary Tree to Linked List (二叉树转前序链表)【leetcode】
- Flatten Binary Tree to Linked List 二叉树变成链表@LeetCode,
- [C++]LeetCode: 102 Flatten Binary Tree to Linked List (二叉树转前序链表)
- [LeetCode] Flatten Binary Tree to Linked List 将二叉树展开成链表
- 【遍历二叉树】11把二叉树转换成前序遍历的链表【Flatten Binary Tree to Linked List】
- 把二叉树精简成单链表 Flatten Binary Tree to Linked List
- LintCode(Flatten Binary Tree to Linked List)翻转二叉树为链表 的变体
- lintcode flatten-binary-tree-to-linked-list 将二叉树拆成链表 前序扁平化 中序扁平化
- [LeetCode] Flatten Binary Tree to Linked List 将二叉树展开成链表 C++
- 将二叉树拆成链表 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