本文主要是介绍leetcode 114:二叉树展开为链表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
二叉树的题,使用递归的方式
TreeNode *last(TreeNode*root){while(root->right!=NULL){root=root->right;}return root;}TreeNode *fla(TreeNode *root){if(root==NULL)return NULL;if(root->left==NULL&&root->right==NULL)return root;else if(root->left!=NULL&&root->right!=NULL){last(fla(root->left))->right=fla(root->right);root->right=NULL;root->right=root->left;root->left=NULL;}else if(root->left!=NULL&&root->right==NULL){root->right=fla(root->left);root->left=NULL;}else if(root->left==NULL&&root->right!=NULL){root->right=fla(root->right);}return root;
}void flatten(TreeNode *root) {fla(root);
}
这篇关于leetcode 114:二叉树展开为链表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!