二叉搜索树转化为双向链表

#二叉搜索树转化为双向链表,不理解29-32为什么一直返回pRootOfTree.left,顺便贴下和老外的聊天记录
#已解决,29-32行的问题:因为这是在线测试,他要返回链表头节点才能通过,比如我给出的例子,他要返回1才能通过= =,你给他注释掉,返回的是5,只是返回值不同,但链表已经构建完成了
class TreeNode:
    def __init__(self, x):
        self.value = x
        self.left = None
        self.right = None

class Solution:
    def Convert(self, pRootOfTree):
        if not pRootOfTree:
            return pRootOfTree
        if not pRootOfTree.left and not pRootOfTree.right:
            return pRootOfTree

        self.Convert(pRootOfTree.left)
        
        left = pRootOfTree.left
        if left:
            while(left.right):
                left = left.right
            pRootOfTree.left, left.right = left, pRootOfTree

        self.Convert(pRootOfTree.right)
        
        right = pRootOfTree.right
        if right:
            while(right.left):
                right = right.left
            pRootOfTree.right, right.left = right, pRootOfTree

        while(pRootOfTree.left):
            pRootOfTree = pRootOfTree.left
            
        return pRootOfTree

p = TreeNode(5)
p.left = TreeNode(3)
p.right = TreeNode(7)
p.left.left = TreeNode(1)
p.left.right = TreeNode(4)
p.right.left = TreeNode(6)
p.right.right = TreeNode(8)

sol = Solution()
sol.Convert(p)

 

me (user_b2d)

CHATBOT: Someone just joined this session.

user_69c

hey

me (user_b2d)

translate a search tree to a link

me (user_b2d)

hey , english not good

me (user_b2d)

sorry

me (user_b2d)

i could not understaned line 29-32

me (user_b2d)

why return pRootOfTree.left as result CHATBOT: Someone just joined this session.

user_0e5 left the session.

user_69c

Sorry, I won't be able to help since I don't know the code origin

me (user_b2d)

ok, thankyou anyway

user_69c left the session.

me (user_b2d)

Binary Search Tree Converted to Bidirectional Link List

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值