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

二叉搜索树与双向链表

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

先用中序遍历 然后是遍历是把 节点加入到列表中 而不是加入节点的值 。然后生成双链表。

    def Convert(self , pRootOfTree ):
        if pRootOfTree is None:return None
        def proorder(root):
            res,stack =[],[]
            while stack or root:
                while root:
                    stack.append(root)
                    root=root.left
                node=stack.pop()
                res.append(node)
                root=node.right
            return res
        res=proorder(pRootOfTree)
        if len(res)==1:
            return res[0]
        for i in range(len(res)-1):
            res[i].right=res[i+1]
            res[i+1].left=res[i]
        return res[0]
    

        
        
全部评论

相关推荐

字节 飞书绩效团队 (n+2) * 15 + 1k * 12 + 1w
点赞 评论 收藏
分享
10-30 10:16
南京大学 Java
龚至诚:给南大✌️跪了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务