leetcode: Flatten Binary Tree to Linked List
2014-07-02 19:15
274 查看
Given a binary tree, flatten it to a linked list in-place.
For example,
Given
The flattened tree should look like:
递归,规律就是先把根的右指针指向左子树,左子树的最右儿子指向原来根的右儿子
For example,
Given
1 / \ 2 5 / \ \ 3 4 6
The flattened tree should look like:
1 \ 2 \ 3 \ 4 \ 5 \ 6
递归,规律就是先把根的右指针指向左子树,左子树的最右儿子指向原来根的右儿子
/** * 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) { if( root == NULL) return; flatten( root->left); flatten( root->right); if( root->left == NULL){ return; } TreeNode *tmp = root->left; TreeNode *tmp2 = root->right; root->left = NULL; root->right = tmp; while( tmp->right) tmp = tmp->right; tmp->right = tmp2; } };
相关文章推荐
- 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
- [leetcode]Flatten Binary Tree to Linked List
- LeetCode - Flatten Binary Tree to Linked List