c++中的字母转化—力扣784题
2022/2/23 14:22:24
本文主要是介绍c++中的字母转化—力扣784题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
c++中字母转化:
字母大小写转换(小写变大写或大写变小写):ch^=32;
字母变为小写:ch|=32;
字母变大写:ch&=-33。
力扣打卡784题:字母大小写全排列
题目:
给定一个字符串 s
,通过将字符串 s
中的每个字母转变大小写,我们可以获得一个新的字符串。返回 所有可能得到的字符串集合 。以 任意顺序 返回输出。
代码:
class Solution {
public:
vector<string> res;
vector<string> letterCasePermutation(string s) {
// 思路:暴搜,大小写字符取两种情况即可;数字直接添加
int n=s.size();
backtrack(s,"",0,n);
return res;
}
void backtrack(string s,string path,int i,int n){
if(i==n){res.push_back(path);return;}
// 数字直接添加
if(s[i]>='0'&&s[i]<='9')backtrack(s,path+s[i],i+1,n);
else{
// 字母就原字母和转换之后的字母两种情况,然后进行下一层的枚举
backtrack(s,path+s[i],i+1,n);
backtrack(s,path+char(s[i]^32),i+1,n);
}
}
};
这篇关于c++中的字母转化—力扣784题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享