将一个列表中的元素顺序倒置,其复杂度是O(n)。
如果lst中有偶数个元素,则所有元素两两对调,中间没有剩余元素。
如果lst中有奇数个元素,则所有元素两两对调,中间会剩余一个元素,让其保持在原来位置即可。
def reverse_list(lst):
i, j = 0, len(lst)-1
while i < j:
lst[i], lst[j] = lst[j], lst[i]
i += 1
j -= 1
将一个列表中的元素顺序倒置,其复杂度是O(n)。
如果lst中有偶数个元素,则所有元素两两对调,中间没有剩余元素。
如果lst中有奇数个元素,则所有元素两两对调,中间会剩余一个元素,让其保持在原来位置即可。
def reverse_list(lst):
i, j = 0, len(lst)-1
while i < j:
lst[i], lst[j] = lst[j], lst[i]
i += 1
j -= 1