天天看點

【LeetCode125、557】驗證回文串、反轉字元串中的單詞III

我承認我偷懶了,今天是幾道簡單的字元串題。

一、題目一

【LeetCode125、557】驗證回文串、反轉字元串中的單詞III

二、思路

C++中和字元判斷有關的内置函數:

【LeetCode125、557】驗證回文串、反轉字元串中的單詞III

簡單題,處理後反轉字元串,判斷和原字元串是否相同。​

​isalnum​

​​判斷是否為字母或者數字,如果不知道api就寫判斷條件;​

​tolower​

​是将char字元轉為小寫字母。

三、代碼

class Solution {
public:
    bool isPalindrome(string s) {
        string temp;
        for(char ch: s){
            if(isalnum(ch)){
                temp += tolower(ch);
            }
        }
        string temp2 = temp;  
        reverse(temp.begin(), temp.end());
        return temp == temp2;
    }
};      

一、題目二

二、思路

三、代碼

class Solution {
public:
    string reverseWords(string s) {
        int i = 0, j = 0;
        while(j < s.size()){
            if(s[j] != ' '){
                j++;
            }else{
                reverse(s.begin() + i, s.begin() + j);
                j++;
                //新單詞的開頭i
                i = j;
            }
        }
        //處理最後一個單詞
        reverse(s.begin() + i, s.end());
        return s;
    }
};      

繼續閱讀