Problem: 206. 反转链表
思路 & 解题方法
简单链表
复杂度
时间复杂度:
O ( n ) O(n) O(n)
空间复杂度:
O ( n ) O(n) O(n)
Code
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution:
def reverseList(self, head: Optional[ListNode]) -> Optional[ListNode]:
if not head:
return None
ans = ListNode(head.val, None)
head = head.next
while head:
p = ListNode(head.val, ans)
ans = p
head = head.next
return ans