void BSTToList(TreeNode *pTree,TreeNode **pHead,TreeNode **pTail)
{
if(pTree == NULL)return;
BSTToList(pTree->left,pHead,pTail);
if(*pHead == NULL)
{
*pHead = pTree;
}
else
{
(*pTail)->right = pTree;
pTree->left = *pTail;
}
*pTail = pTree;
BSTToList(pTree->right,pHead,pTail);
}
TreeNode* Convert(TreeNode* pRootOfTree)
{
TreeNode *pHead = NULL;
TreeNode *pTail = NULL;
BSTToList(pRootOfTree,&pHead,&pTail);
return pHead;
}
二叉树转双向链表
最新推荐文章于 2021-07-27 23:04:53 发布