题目来自于LeetCode
https://leetcode.com/problems/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
Hide Tags
Have you met this question in a real interview?
/** * 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 ; if(root->left!=NULL) { TreeNode *tmp=root->right; TreeNode *cur=root->left; root->right=root->left; while(cur->right!=NULL) cur=cur->right; cur->right=tmp; root->left=NULL; } flatten(root->right); } };
时间: 2024-12-10 19:04:52