leetcode Reverse String
Write a function that takes a string as input and returns the string reversed.
Example: Given s = "hello", return "olleh".
题意:给定一个字符串,让你逆序
思路:
双指针,直接置换
C++ 1
2
3
4
5
6
7
8
9
10
11class Solution {
public:
    string reverseString(string s) {
        for(int L = 0,R = s.size()-1; L < R;L++,R--){
            char temp = s[L];
            s[L] = s[R];
            s[R] = temp;
        }
        return s;
    }
};
也可以直接用swap
1  | class Solution {  | 
Python 直接oneline
1  | class Solution(object):  | 
leetcode Reverse Vowels of a String
Write a function that takes a string as input and reverse only the vowels of a string.
Example 1: Given s = "hello", return "holle".
Example 2: Given s = "leetcode", return "leotcede".
题目地址:leetcode Reverse Vowels of a String
题意:给定一个字符串,把它的所有元音字母逆序
思路:同样双指针,遇到元音(a,e,i,o,u 注意大小写)就停下来
C++ 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18class Solution {
public:
    bool isVowels(char x){
        x = tolower(x);
        return x =='a'  x== 'e'  x=='i'  x=='o'  x=='u' ;
    }
    
    string reverseVowels(string s) {
        int L = -1,R = s.size(),n =s.size();
        while(L < R){
            while(!isVowels(s[++L]) && L < R);
            while(!isVowels(s[--R]) && R > L);
            if(L >= R) break;    
            swap(s[L], s[R]);
        }
        return s;
    }
};
PS:本来不想写题解的,昨天那题太水了= =不过今天又出了一道类似的水题,就一起写了吧
本题是leetcode 344 Reverse String 和 345 Reverse Vowels of a String 题解,
更多题解可以查看:https://www.hrwhisper.me/leetcode-algorithm-solution/