- 递归算法必须有基本情况
- 递归算法必须改变其状态并向基本情况靠近
- 递归算法必须递归的调用自己
代码如下:
def reverse_list(lst):
if len(lst) == 2:
return lst.append(lst.pop(0))
else:
temp = lst.pop(0)
reverse_list(lst)
lst.append(temp)
return lst
思路:
总结 : 因为使用了pop(0)的操作,所以算法的复杂度为O(n)
如果有更简便的方法,欢迎指点讨论