题目描述
反转一个单链表。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
进阶: 你可以迭代或递归地反转链表。你能否用两种方法解决这道题?
我的解法——不断加到前面(AC)
- 链表的移动
- 时间空间复杂度均为O(n)。
- Beat92%
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def reverseList(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""
now = None
while(head != None):
temp = head.next
head.next = now
now = head
head = temp
return now
参考答案
- https://leetcode.com/problems/reverse-linked-list/solution/