1. 题目

给定一个字符串S,通过将字符串S中的每个字母转变大小写,我们可以获得一个新的字符串。返回所有可能得到的字符串集合。

示例:
输入: S = “a1b2”
输出: [“a1b2”, “a1B2”, “A1b2”, “A1B2”]

输入: S = “3z4”
输出: [“3z4”, “3Z4”]

输入: S = “12345”
输出: [“12345”]

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/letter-case-permutation
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

变换大小等价于:
1、如果字符是小写字符,减去 32 得到大写字符;
2、如果字符是大写字符,加上 32 得到小写字符。

异或上 1 << 5

class Solution {public:vector<string> letterCasePermutation(string S) {vector<string> ans;string str;bt(S, str, ans, 0);return ans;}void bt(string &S, string str, vector<string> &ans, int i){if(i == S.size()){ans.push_back(str);return;}if(S[i] >= '0' && S[i] <= '9'){str.push_back(S[i]);bt(S, str, ans, i+1);}else//是字母的话{str.push_back(S[i]);bt(S, str, ans, i+1);str.pop_back();str.push_back(S[i]^(1<<5));//转换大小写bt(S, str, ans, i+1);}}
};

LeetCode 784. 字母大小写全排列(位运算回溯)相关推荐

  1. LeetCode 784. 字母大小写全排列

    784. 字母大小写全排列 [回溯法] class Solution {// 回溯 4:30 6int n;StringBuilder sb = new StringBuilder();List< ...

  2. 77.组合 | 40.组合总和II | 39.组合总和 | 784.字母大小写全排列

    77.组合 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合. 你可以按 任何顺序 返回答案. 示例 1: 输入:n = 4, k = 2 输出: [   [2,4], ...

  3. 【784. 字母大小写全排列】

    来源:力扣(LeetCode) 描述:   给定一个字符串 s ,通过将字符串 s 中的每个字母转变大小写,我们可以获得一个新的字符串. 返回 所有可能得到的字符串集合 .以 任意顺序 返回输出. 示 ...

  4. 文巾解题 784. 字母大小写全排列

    1 题目描述 2 解题思路:回溯 如果解决一个问题有多个步骤,每一个步骤有多种方法,题目又要我们找出所有的方法,可以使用回溯算法:         回溯算法是在一棵树上的 深度优先遍历(因为要找所有的 ...

  5. 784. 字母大小写全排列

    链接:https://leetcode-cn.com/problems/letter-case-permutation/ 题解:如果是字母,存在改为变为大/小写,和当前情况dfs往下情况 这一类涉及排 ...

  6. 784.字母大小写全排列

    给定一个字符串S,通过将字符串S中的每个字母转变大小写,我们可以获得一个新的字符串.返回所有可能得到的字符串集合. 示例: 输入: S = "a1b2" 输出: ["a1 ...

  7. 1、LeetCode784 字母大小写全排列

    LeetCode784 字母大小写全排列 给定一个字符串S,通过将字符串S中的每个字母转变大小写,我们可以获得一个新的字符串.返回所有可能得到的字符串集合. 示例: 输入:S = "a1b2 ...

  8. 字母大小写全排列C语言,14种模式解决面试算法编程题(PART II)

    写在前面 8.树的宽度优先搜索(Tree BFS) 该模式基于广度优先搜索(BFS)技术来遍历树,并使用队列在跳到下一层之前记录下该层的所有节点.使用这种方法可以有效地解决涉及以逐级顺序遍历树的任何问 ...

  9. Java——字母大小写全排列

    题目链接 字母大小写全排列 题目描述 给定一个字符串 s ,通过将字符串 s 中的每个字母转变大小写,我们可以获得一个新的字符串. 返回 所有可能得到的字符串集合 .以 任意顺序 返回输出. 题目示例 ...

最新文章

  1. CCF - 201409-3 - 字符串匹配
  2. 复习笔记(九)——C++中的容器(STL容器)
  3. mysql将时间戳转成常用可读时间格式
  4. php网站漏洞检测对sql注入漏洞防护
  5. [Servlet]深入掌握Servlet
  6. Win10网络共享设置的方法步骤
  7. 深度学习与神经网络概述
  8. ae合成设置快捷键_AE脚本使用快捷键控制关键帧操作 Keyboard v1.2.1 + 使用教程【资源分享1081】...
  9. Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,
  10. AngularJS基础知识
  11. pr中小人国微缩世界,速度快门的变化,动态地图,手写文字效果,打字机输入文字,照片定格效果
  12. TPYBoard中编译MicroPython并利用DfuSe经行固件烧录
  13. 2023.4.24 考研单词背诵+默写
  14. 出租车计价:某城市普通出租车收费标准如下:起步里程为3公里,起步费10元:超过起步里程后10公里内即每公里2元;
  15. centos7 使用 docker 部署 gitlab + gitlab-runner
  16. BW4HANA cockpit 权限设置
  17. 自动产生一年多少周及月
  18. 桃李教育 高中计算机教师,一名信息技术老师的立德树人情怀~
  19. 凸包+凹包+凸边凹化算法
  20. 金山手机毒霸工作原理

热门文章

  1. 对于局部变量_对于SQL常用查询优化方法的整理
  2. 【面试】c++单例模式
  3. linux--切换ipython解释器到python3
  4. html:web前端开发规范
  5. Django之ORM对数据库操作
  6. request获取各种路径总结、页面跳转总结。
  7. const参数,const返回值与const函数
  8. URAL 2047 Maths 打表 递推
  9. VS2008中使用JSONCPP方法小结
  10. C语言 数据结构 树和二叉树