
784. Letter Case Permutation
发布日期:2021-05-09 02:50:42
浏览次数:18
分类:博客文章
本文共 1382 字,大约阅读时间需要 4 分钟。
Given a string S, we can transform every letter individually to be lowercase or uppercase to create another string. Return a list of all possible strings we could create.
Examples:Input: S = "a1b2"Output: ["a1b2", "a1B2", "A1b2", "A1B2"]Input: S = "3z4"Output: ["3z4", "3Z4"]Input: S = "12345"Output: ["12345"]
Note:
S
will be a string with length between1
and12
.S
will consist only of letters or digits.
Approach #1: BFS. [C++].
class Solution {public: vectorletterCasePermutation(string S) { set memo; memo.insert(S); helper(S, 0, memo); vector ans(memo.begin(), memo.end()); return ans; } private: void helper(string S, int idx, set & memo) { if (idx >= S.length()) return; vector temp(memo.begin(), memo.end()); //cout << idx << endl; for (string s : temp) { if (isalpha(s[idx])) { char c; if (isupper(s[idx])) c = tolower(s[idx]); else c = toupper(s[idx]); //cout << c << endl; string temp = s; temp[idx] = c; if (!memo.count(temp)) memo.insert(temp); //helper(S, idx+1, memo); } } helper(S, idx+1, memo); }};
������
发表评论
最新留言
感谢大佬
[***.8.128.20]2025年04月06日 22时24分52秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
[每日一题] 66. 客似云来(fib数列公式)
2021-05-12
[每日一题] 85. 红与黑(图、DFS)
2021-05-12
[排序算法] 4. 希尔排序(插入排序)
2021-05-12
[每日一题] 151. 只出现一次的数字(位运算、异或、常规解法)
2021-05-12
[LeetCode 双周赛22] 2. 安排电影院座位(排序、暴力优化、巧妙解法)
2021-05-12
[LeetCode 周赛181] 2. 四因数(暴力、常规解法)
2021-05-12
[M图论+bfs] lc127. 单词接龙(图论难题+建图+bfs求最短路)
2021-05-12
[M模拟] lc48. 旋转图像(模拟+思维)
2021-05-12
form表单
2021-05-12
JavaFX学习笔记-颜色选择器ColorPicker与日期选择器DatePicker
2021-05-12
使用Java在Windows上获取一个文件的创建时间
2021-05-12
Flutter学习笔记-主轴与交叉轴的对其方式
2021-05-12
工具研究:(三)Nginx配置错误的路由时均统一跳转到登录界面
2021-05-12
数据库设计原则与编写sql规范要求-据于阿里开发手册简化
2021-05-12
ant design pro v5去掉右边content区域的水印
2021-05-12
eclipse下清除项目的svn信息
2021-05-12
web_求和(练习)
2021-05-12
9. ArrayList与LinkedList的区别
2021-05-12