递归是一种解决问题的有效方法,在递归过程中,函数将自身作为子例程调用
为了确保递归函数不会导致无限循环,它应具有以下属性:
-
一个简单的基本案例(basic case)(或一些案例) —— 能够不使用递归来产生答案的终止方案。
-
一组规则,也称作递推关系(recurrence relation),可将所有其他情况拆分到基本案例。
注意,函数可能会有多个位置进行自我调用。
用递归调用的方法把字符串进行反转
def reverseString(str1) :
"""
用递归的方法反转字符串
:param str1: 字符串也数组的形式给出
:return:
"""
if not str1 :
return None
if len(str1) == 1 :
return str1[0]
return reverseString(str1[1:]) + str1[0]更多例子参见 example