不管 list 的长度为奇数还是偶数,最终所要交换的元素的下标,i
和j
的和为n-1
:
i+j=n−1
方法 1
def reverse(self):
elements = self.elements # 引用而不是拷贝
for i in range(len(elements)//2):
elements[i], elements[n-1-i] = elements[n-1-i], elements[i]
方法 2
def reverse(self):
elements = self.elements
i, j = 0, len(elements)-1
while i < j:
elements[i], elements[j] = elements[j], elements[i]
i, j = i+1, j-1