leetcode(59)-反转链表

反转一个单链表。

示例:

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

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

class Solution:
    def reverseList(self, head: ListNode) -> ListNode:
        pre = None
        if head ==None or head.next == None:
            return head
        while head:
            cur = head.next
            head.next = pre
            pre = head
            head = cur
        return pre
class Solution:
    def reverseList(self, head: ListNode) -> ListNode:

        def fa(f,s,i):
            if s is not None:
                tmp = s.next
                s.next = f
                if i==0: f.next = None
                return fa(s,tmp,i+1)
            else:
                return f

        if head is None:return None
        return fa(head,head.next,0)
posted @ 2020-10-21 21:33  木子士心王大可  阅读(52)  评论(0)    收藏  举报