python实现
注意sqlit的时候用一个空格去分,如果是默认的话,多个空格会视为一个空格,最后结果会空格数量对不上
class Solution:
def reverseWord(self , str: str) -> str:
str_list = []
for i in str.split(' '):
str_list.append(i[::-1])
return ' '.join(str_list)
c++实现
逐个字母循环,用一个临时单词的变量来存单个单词
- 遇到非空格就往临时单词里放
- 遇到空格,就要判断
- 临时单词中有东西,就反转临时单词,追加到res,再追加空格
- 临时单词里没东西,直接追加空格
class Solution {
public:
string swap_word(string s){ //反转字符串
int len = s.size();
for(int j=0; j<len/2; j++){
swap(s[j], s[len-1-j]);
}
return s;
}
string reverseWord(string str) {
// write code here
string res;
string temp_word = ""; //临时字符串,用来存单个单词
int i;
for(i=0; i<str.size(); i++){
if(str[i] != ' '){ //遇到非空格就往临时单词里放
temp_word.push_back(str[i]);
}else{ //遇到空格判断一下临时单词里有东西没,如果有东西,就把单词反转并追加
if(temp_word != ""){
res += swap_word(temp_word); //反转后的单词追加到result
temp_word = ""; //置空临时字符串
}
res.push_back(' ');
}
}
if(temp_word != "") res += swap_word(temp_word); //最后一个单词
return res;
}
};