字母大小写全排列(Letter Case Permutation)题解与分析
✨题目描述
给定一个字符串 s
,你可以通过将字符串中每个英文字母的大小写进行变换,生成新的字符串组合。请返回所有可能的字符串集合,顺序可以任意。
🔍示例:
示例 1:
输入: s = "a1b2"
输出: ["a1b2", "a1B2", "A1b2", "A1B2"]
示例 2:
输入: s = "3z4"
输出: ["3z4", "3Z4"]
🔒约束条件:
- 1 <= s.length <= 12
- s 仅由小写字母、大写字母和数字组成
🧠解题思路分析
这是一道典型的回溯(Backtracking)枚举类问题,核心在于对每个字母进行大小写的选择,形成树状的组合路径。每个字母会带来两个选择(小写或大写),而数字没有选择,只能原样保留。
✅关键点分析:
- 当遇到数字时,只能保留原样,继续向下递归。