二叉搜索树与双向链表

来源:互联网 发布:贪心算法汽车加油问题 编辑:程序博客网 时间:2024/05/16 15:20


/*struct TreeNode {int val;struct TreeNode *left;struct TreeNode *right;TreeNode(int x) :val(x), left(NULL), right(NULL) {}};*/class Solution {public:    TreeNode* ConvertNode(TreeNode* pNode,TreeNode* pLastNode){        if(pNode == NULL)            return NULL;        TreeNode* pCurrent = pNode;        if(pCurrent->left != NULL)            pLastNode = ConvertNode(pNode->left,pLastNode);        pCurrent->left = pLastNode;        if(pLastNode != NULL)            pLastNode->right = pCurrent;        pLastNode = pCurrent;        if(pCurrent->right != NULL)            pLastNode = ConvertNode(pNode->right,pLastNode);        return pLastNode;    }TreeNode* Convert(TreeNode* pRootOfTree){if(pRootOfTree == NULL)            return NULL;        TreeNode* pLastNode = NULL;        pLastNode = ConvertNode(pRootOfTree,pLastNode);        if(pLastNode != NULL)        pLastNode->right = NULL;        TreeNode* pHead = pLastNode;        while(pHead != NULL && pHead->left != NULL)            pHead = pHead->left;        return pHead;}};


0 0
原创粉丝点击