【发布时间】:2021-09-23 10:35:45
【问题描述】:
有人可以向我解释一下这种逐步反转数组的递归方法吗?
# Recursive python program to reverse an array
# Function to reverse A[] from start to end
def reverseList(A, start, end):
if start >= end:
return
A[start], A[end] = A[end], A[start]
reverseList(A, start+1, end-1)
# Driver function to test above function
A = [1, 2, 3, 4, 5, 6]
print(A)
reverseList(A, 0, 5)
print("Reversed list is")
print(A)
输出:
1 2 3 4 5 6
反向列表是:
6 5 4 3 2 1
【问题讨论】:
-
您是否尝试过拿一张纸并自己“执行”代码?您是否有一个特定的部分难以理解?
-
真的很简单。交换两端,然后颠倒两端之间的内容。
-
否则只需要在函数开头加上 print(A, start,end) 看看trace ...这会帮助你理解
-
在
def下添加print(A),你就会明白更多。 -
你对它有什么了解?
标签: python arrays recursion reverse