Flatten Binary Tree to Linked List (DFS)
2015-01-23 19:59
274 查看
Given a binary tree, flatten it to a linked list in-place.For example,
Given
Given
1 / \ 2 5 / \ \ 3 4 6The flattened tree should look like:
1 \ 2 \ 3 \ 4 \ 5 \ 6 代码:
class Solution{ public: void flatten(TreeNode *root) { if(root==NULL) return; TreeNode* p=root->left; if(p==NULL){ flatten(root->right); return; } while(p->right!=NULL) p=p->right; TreeNode* temp=root->right; root->right=root->left; root->left=NULL;//一定不要忘记左子树要赋空 p->right=temp; flatten(root->right); return; } };这种DFS画图最好理解了,下图是我的解题过程:
相关文章推荐
- (M)DFS:114. Flatten Binary Tree to Linked List
- 114. Flatten Binary Tree to Linked List (Stack, Tree; DFS)
- [leetcode][tree][dfs] Flatten Binary Tree to Linked List
- leetcode dfs Flatten Binary Tree to Linked List
- Posts Tagged 【list && tree && dfs】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
- 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
- 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