反转链表的循环和递归方式(python)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/c838556614/article/details/87779805
# 循环
class Solution:
    # 返回ListNode
    def ReverseList(self, pHead):
        # write code here
        left = None
        cur = pHead
        while cur:
            right = cur.next #保存
            cur.next = left
            left = cur
            cur = right
        return left

# 递归方式
class Solution:
    # 返回ListNode
    def ReverseList(self, pHead):
        # write code here
        if pHead == None or pHead.next == None: #空链表或最后一个结点
            return pHead
        pNew = self.ReverseList(pHead.next)
        pHead.next.next = pHead
        pHead.next = None
        return pNew
            

猜你喜欢

转载自blog.csdn.net/c838556614/article/details/87779805