题解 | #二叉搜索树与双向链表#

二叉搜索树与双向链表

https://www.nowcoder.com/practice/947f6eb80d944a84850b0538bf0ec3a5

/**
 * struct TreeNode {
 *	int val;
 *	struct TreeNode *left;
 *	struct TreeNode *right;
 * };
 */

/**
 * 
 * @param pRootOfTree TreeNode类 
 * @return TreeNode类
 */
static struct TreeNode* p1 = NULL;
static struct TreeNode* p2 = NULL;
 void makline(struct TreeNode* pRootOfTree ){
    if(!pRootOfTree) return;
    makline(pRootOfTree->left );
    if(p1 == NULL){
        p1 = p2 = pRootOfTree;
    }
    else{
        p2 = pRootOfTree;
        p1->right = p2;
        p2->left = p1;
        p1 = p1->right;
    }
    makline(pRootOfTree->right);
 }
struct TreeNode* Convert(struct TreeNode* pRootOfTree ) {
    // write code here
    if(!pRootOfTree) return pRootOfTree;
    makline(pRootOfTree);
    while(pRootOfTree->left)
    pRootOfTree = pRootOfTree->left;
    return pRootOfTree;
}

全部评论

相关推荐

这不纯纯作弊了吗😢😢😢
编程界菜鸡:信这个的这辈子有了,这智商你靠啥都没用
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务