第三十二题 队列和栈第四题 判断空格 和复制
class Solution {
public:
string ReverseSentence(string str) {
string ret_ans="";
string temp;
for(int i =0;i<str.size();i++)
{
// 如果不是空格 temp保存当前的字符
if(str[i] != ' ')
temp+=str[i];
// 如果是空格
// temp先添加上空格,ret_ans加上temp保存的单词,清空temp
else{
temp+=' ';
ret_ans=temp+ret_ans;
temp="";
}
}
// 因为字符串str遍历结束了,而str开始不是空格。所以temp还保存着str的第一个单词
// 第一个单词不需要空格,直接添加到结果前面就好了
temp+=' ';
ret_ans=temp+ret_ans;
// 因为从后往前的遍历,一开始nowcoder后面会添加完空格返回给ret_ans,所以最后会多一个空格需要删除
ret_ans.pop_back();
return ret_ans;
}
};
public:
string ReverseSentence(string str) {
string ret_ans="";
string temp;
for(int i =0;i<str.size();i++)
{
// 如果不是空格 temp保存当前的字符
if(str[i] != ' ')
temp+=str[i];
// 如果是空格
// temp先添加上空格,ret_ans加上temp保存的单词,清空temp
else{
temp+=' ';
ret_ans=temp+ret_ans;
temp="";
}
}
// 因为字符串str遍历结束了,而str开始不是空格。所以temp还保存着str的第一个单词
// 第一个单词不需要空格,直接添加到结果前面就好了
temp+=' ';
ret_ans=temp+ret_ans;
// 因为从后往前的遍历,一开始nowcoder后面会添加完空格返回给ret_ans,所以最后会多一个空格需要删除
ret_ans.pop_back();
return ret_ans;
}
};