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

二叉搜索树与双向链表

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

题意:


方法:
中序遍历

思路:
        二叉搜索树的中序遍历是有序的。
        因此,我们对二叉搜索树中序遍历,并将结果存入一个双向链表中。




class Solution {
public:
    TreeNode *head,*p;//新建双向链表
    int i=0;
    TreeNode* Convert(TreeNode* pRootOfTree) {
        if(pRootOfTree==nullptr){
            i++;
            return nullptr;
        }
        
        Convert(pRootOfTree->left);//递归左儿子
        if(i==1){//当遍历到最左下角时,则是链表的第一个节点
            head=pRootOfTree;
            p=pRootOfTree;
            
        }else{//否则,拼接链表的其他节点
            p->right=pRootOfTree;
            pRootOfTree->left=p;
            p=p->right;
        }
        
        Convert(pRootOfTree->right);//递归右儿子
        return head;
    }
};



时间复杂度:
空间复杂度:



全部评论

相关推荐

专业嗎喽:个人信息名字太大,合到电话邮箱那一栏就行,有党员写过党,剩下其他全删,站空太大了 把实习经历丰富,放最前面,然后是个人评价,技能之类的,然后是学校信息。项目经历最后面,可以就选一个自己擅长的。 现在是学校不是92就扣分的,没必要放前面。 然后现在看重实习经历>竞赛经历(校园经历)>课程项目经历
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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