23
大小写排列
当您能够生成大写和小写的每个排列时,谁需要不区分大小写地比较事物?没有人!那就是答案。没人做到。您的任务是实现这一壮举。生成给定输入的所有可能的大写/小写排列。 输入项 一串可打印的标准ascii字符。输入不应假定全部为小写。输入将始终至少为一个字符。 输出量 输入的字符串的每个大写和小写排列(无重复)。这只能更改大小版本的字符(数字将保持不变)。每个排列必须输出为字符串或字符列表。不允许使用单例字符串列表。 例子 a1a ['a1a', 'a1A', 'A1a', 'A1A'] abc ['abc', 'abC', 'aBc', 'aBC', 'Abc', 'AbC', 'ABc', 'ABC'] Hi! ['hi!', 'hI!', 'Hi!', 'HI!'] 计分 这是代码高尔夫球,因此最短的答案(以字节为单位)获胜。 有趣的是,看到要处理扩展的ascii字符将花费多少额外的精力,这是一个额外的测试用例: ž1a -> ['ž1a', 'ž1A', 'Ž1a', 'Ž1A'] (您的程序不需要支持此功能)