我承認我偷懶了,今天是幾道簡單的字元串題。
一、題目一
二、思路
C++中和字元判斷有關的内置函數:
簡單題,處理後反轉字元串,判斷和原字元串是否相同。
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;
}
};