「 每日一练,快乐水题 」917. 仅仅反转字母
Posted 谁吃薄荷糖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了「 每日一练,快乐水题 」917. 仅仅反转字母相关的知识,希望对你有一定的参考价值。
✅力扣原题:
✅题目简述:
给你一个字符串 s ,根据下述规则反转字符串:
所有非英文字母保留在原有位置。
所有英文字母(小写或大写)位置反转。
返回反转后的 s 。
✅解题思路:
1.把字符都筛选出来(看到很多巨佬用的isalpha()函数也可以的);
2.把字符翻转;
3.把翻转的字符插入进原字符的字符串位;
4.over;
✅C++代码:
class Solution
public:
string reverseOnlyLetters(string s)
int n = s.length();
string tmp="";
for(int i = 0; i < n; i++)
if((s[i] >= 'A' && s[i] <= 'Z') || (s[i] >= 'a' && s[i] <= 'z'))
tmp+=s[i];
//cout << tmp << endl;
reverse(tmp.begin(),tmp.end());
//cout << tmp << endl;
for(int j = 0, k = 0;j < n; j++)
if((s[j] >= 'A' && s[j] <= 'Z') || (s[j] >= 'a' && s[j] <= 'z'))
s[j] = tmp[k];
k++;
return s;
;
✅结果展示:
以上是关于「 每日一练,快乐水题 」917. 仅仅反转字母的主要内容,如果未能解决你的问题,请参考以下文章
「 每日一练,快乐水题 」744. 寻找比目标字母大的最小字母
「 每日一练,快乐水题 」744. 寻找比目标字母大的最小字母