1、题目描述
把一个二叉树转换成链表。
2、思路
转换成的链表形式是 根节点-左子树形成的链表-右子树形成的链表
递归。
3、代码
void flatten(TreeNode* root) {
if(!root) return;
else root = helper(root);
}
TreeNode* helper(TreeNode* root) {
if(!root) return NULL;
TreeNode* l = helper(root->left);
TreeNode* r = helper(root->right);
root->left = NULL;
if(l){
root->right = l;
TreeNode* p = root;
while(p->right){
p=p->right;
}
p->right = r;
}
else
root->right = r;
return root;
}