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

二叉搜索树与双向链表

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

# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

#
# 
# @param pRootOfTree TreeNode类 
# @return TreeNode类
#
class Solution:
    def Convert(self , pRootOfTree ):
        # write code here
        if not pRootOfTree:
            return
        print(pRootOfTree.val)
        if not pRootOfTree.left and not pRootOfTree.right:
            return pRootOfTree
        if pRootOfTree.left:
            cpl= self.Convert(pRootOfTree.left)
            print(cpl.val)
            while cpl.right:
                cpl=cpl.right
            cpl.right=pRootOfTree
            pRootOfTree.left=cpl
        if pRootOfTree.right:
            cpr=self.Convert(pRootOfTree.right)
            print(cpr.val)
            cpr.left=pRootOfTree
            pRootOfTree.right=cpr
        while pRootOfTree.left:
            pRootOfTree=pRootOfTree.left
        return pRootOfTree
     
全部评论

相关推荐

牛客84809583...:举报了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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