Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

递归操作

递归原理

递归是一种解决问题的有效方法,在递归过程中,函数将自身作为子例程调用

为了确保递归函数不会导致无限循环,它应具有以下属性:

  • 一个简单的基本案例(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