「 每日一练,快乐水题 」917. 仅仅反转字母

Posted 谁吃薄荷糖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了「 每日一练,快乐水题 」917. 仅仅反转字母相关的知识,希望对你有一定的参考价值。

✅力扣原题:

力扣链接: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. 寻找比目标字母大的最小字母

「 每日一练,快乐水题 」744. 寻找比目标字母大的最小字母

「 每日一练,快乐水题 」242. 有效的字母异位词

「 每日一练,快乐水题 」242. 有效的字母异位词

「 每日一练,快乐水题 」1832. 判断句子是否为全字母句