递归算法获取字符串的所有子串
时间: 2023-10-25 16:08:05 浏览: 104
使用C语言提取子字符串及判断对称子字符串最大长度
5星 · 资源好评率100%
以下是递归算法获取字符串的所有子串的Python实现:
```
def get_substrings(s):
if len(s) == 0:
return ['']
substrings = get_substrings(s[1:])
return substrings + [s[0] + substring for substring in substrings]
```
这个函数首先检查字符串是否为空。如果是,它返回一个只包含一个空字符串的列表。否则,它递归地获取字符串的所有子串,并将它们与第一个字符组合起来,形成新的子串。最终,该函数返回包含所有子串的列表。
例如,如果我们调用`get_substrings('abc')`,它将返回`['', 'a', 'b', 'ab', 'c', 'ac', 'bc', 'abc']`。其中,空字符串是字符串的子串,`a`、`b`、`c`是字符串的单个字符子串,`ab`、`ac`、`bc`是字符串的两个字符子串,`abc`是字符串的三个字符子串。
阅读全文