在Python中查找给定字符串s中所有可能组合的字母列表
假设我们有一个字符串s。我们必须找到s的所有可能字母组合。如果有两个带有相同字符集的字符串,则显示其中字典序最小的。一个限制条件是s中的每个字符都是唯一的。
因此,如果输入为s =“pqr”,则输出将为[‘r’,’qr’,’q’,’pr’,’pqr’,’pq’,’p’]。
为了解决这个问题,我们将按照以下步骤进行 –
- st_arr:一个新列表
- 对于i在范围内大小为s-1到0,按1递减,执行以下操作
- 对于j在范围0到st_arr的大小-1,执行以下操作
- 在st_arr的末尾插入(s [i]连接st_arr [j])
- 在st_arr的末尾插入s [i]
- 对于j在范围0到st_arr的大小-1,执行以下操作
- 返回st_arr
例子
让我们看看以下实现,以更好的理解 –
def solve(s):
st_arr = []
for i in range(len(s)-1,-1,-1):
for j in range(len(st_arr)):
st_arr.append(s[i]+st_arr[j])
st_arr.append(s[i])
return st_arr
s =“pqr”
print(solve(s))
输入
“pqr”
输出
['r','qr','q','pr','pqr','pq','p']