Leetcode206. 反转链表——python求解

编程语言

python

题目

反转一个单链表。

示例

输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL

进阶

你可以迭代或递归地反转链表。你能否用两种方法解决这道题?

来源

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-linked-list

思路

进行类似于两个数交换一样的操作
例如:交换a和b
t = a
a = b
b = t

代码

# Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution(object):
    def reverseList(self, head):
        """
        :type head: ListNode
        :rtype: ListNode
        """
        prev = None
        curr = head
        while curr:
            nextTemp = curr.next
            curr.next = prev
            prev = curr
            curr = nextTemp
        return prev

猜你喜欢

转载自blog.csdn.net/weixin_41729258/article/details/106153963