用 Python 编写程序,查找给定字符串 s 的所有可能字母组合列表

pythonserver side programmingprogramming更新于 2026/2/1 2:52:17

假设我们有一个字符串 s。我们必须找到 s 的所有可能字母组合。如果有两个字符串具有相同的字符集,则显示其中按字典顺序排列最小的字符串。并且一个约束是 s 中的每个字符都是唯一的。

因此,如果输入为 s = "pqr",则输出将是 ['r', 'qr', 'q', 'pr', 'pqr', 'pq', 'p']

为了解决这个问题,我们将遵循以下步骤 −

  • st_arr := a new list
  • 对于 s - 1 到 0 范围内的 i,减少 1,执行
    • 对于 0 到 st_arr - 1 范围内的 j,执行
      • insert (s[i] concatenate st_arr[j]) 位于 st_arr 的末尾
    • 在 st_arr 的末尾插入 s[i]
  • 返回 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']

相关文章


有用资源