c_cpp 二叉搜索树与双向链表的.cpp
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 二叉搜索树与双向链表的.cpp相关的知识,希望对你有一定的参考价值。
//输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。
TreeNode* Convert(TreeNode* pRootOfTree)
{
if(NULL==pRootOfTree) return NULL;
TreeNode *pRoot, *pLeftNode, *pRightNode, *pTemp;
pRoot = pRootOfTree;
pLeftNode = pRootOfTree->left;
pRightNode = pRootOfTree->right;
if(pLeftNode == NULL && pRightNode == NULL)
return pRoot;
// if(pLeftNode)
// {
pLeftNode = Convert(pLeftNode);
pTemp = pLeftNode;
while(pTemp !=NULL && pTemp->right != NULL){
pTemp = pTemp->right;
}
if(pLeftNode)
{
pRoot->left = pTemp;
pTemp->right = pRoot;
}
// }
// if(pRightNode)
// {
pRightNode = Convert(pRightNode);
if(pRightNode)
{
pRoot->right = pRightNode;
pRightNode->left = pRoot;
}
// }
return pLeftNode!=NULL?pLeftNode:pRoot;
}
以上是关于c_cpp 二叉搜索树与双向链表的.cpp的主要内容,如果未能解决你的问题,请参考以下文章
二叉搜索树与双向链表-剑指Offer
剑指Offer-二叉搜索树与双向链表
剑指offer:二叉搜索树与双向链表
剑指offer--二叉搜索树与双向链表
25 二叉搜索树与双向链表
二叉树与链表