[leetcode 114] Flatten Binary Tree to Linked List
2015-01-04 22:38
316 查看
Given a binary tree, flatten it to a linked list in-place.
For example,
Given
The flattened tree should look like:
思路:将root的右子树接在root左子树的最右孩子的右侧,以此交换
For example,
Given
1 / \ 2 5 / \ \ 3 4 6
The flattened tree should look like:
1 \ 2 \ 3 \ 4 \ 5 \ 6
思路:将root的右子树接在root左子树的最右孩子的右侧,以此交换
/** * 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) { return ; } while (root) { auto tmp = root->left; if (tmp) { while (tmp->right) { tmp = tmp->right; } tmp->right = root->right; root->right = root->left; root->left = NULL; } root = root->right; } } };
相关文章推荐
- LeetCode 114 Flatten Binary Tree to Linked List
- leetcode 114: Flatten Binary Tree to Linked List
- [Leetcode 114, Medium] Flatten Binary Tree to Linked List
- LeetCode(114) Flatten Binary Tree to Linked List
- leetcode 114 —— Flatten Binary Tree to Linked List
- Leetcode[114]-Flatten Binary Tree to Linked List
- LeetCode_114 Flatten Binary Tree to Linked List
- 【LeetCode-面试算法经典-Java实现】【114-Flatten Binary Tree to Linked List(二叉树转单链表)】
- LeetCode(114) Flatten Binary Tree to Linked List
- LeetCode: Flatten Binary Tree to Linked List [114]
- LeetCode:114_Flatten Binary Tree to Linked List | 将一棵二叉树变成链表的形式 | Medium
- 【LeetCode从零单排】No 114 Flatten Binary Tree to Linked List
- LeetCode 114: Flatten Binary Tree to Linked List
- leetcode[114]Flatten Binary Tree to Linked List
- [LeetCode]114 Flatten Binary Tree to Linked List
- leetcode_question_114 Flatten Binary Tree to Linked List
- Leetcode_114_Flatten Binary Tree to Linked List
- LeetCode(114)Flatten Binary Tree to Linked List
- [LeetCode 114] Flatten Binary Tree to Linked List
- LeetCode114 Flatten Binary Tree to Linked List