简介
推荐使用API
code
class Solution {
public String reverseWords(String s) {
s = s.trim();
// 正则撇皮连续的空白字符作为风格符号
List<String> wordList = Arrays.asList(s.split("\\s+")); // “\s+”则表示匹配任意多个上面的字符。另因为反斜杠在Java里是转义字符,所以在Java里,我们要这么用“\\s+”. 以空格的方式进行分割然后存储为List
Collections.reverse(wordList);
return String.join(" ", wordList);// 以空格的方式粘合这些字符串
}
}
class Solution {
public:
string reverseWords(string s) {
// 消除句子前面||后面的空格
for(auto it=s.begin(); it!=s.end(); ){
if(*it == ' '){
it = s.erase(it); // s.erase 只能应用于迭代器 不能应用于反向迭代器, 我丢
}else{
break;
}
}
for(int i=s.size() - 1; i>=0; i--){
if(s[i] == ' '){
s.erase(i, 1);
}
else{
break;
}
}
vector<string> v;
string tmp;
for(int i=0; i<s.size(); i++){
if(s[i] == ' '){
if(tmp.size()) {
v.push_back(tmp);
}
tmp.clear();
}else{
tmp += s[i];
}
}
if(tmp.size()){
v.push_back(tmp);
}
string rlt;
for(int i=v.size() - 1; i>=0; i--){
if(i == v.size() - 1){
rlt += v[i];
}else{
rlt += " ";
rlt += v[i];
}
}
return rlt;
}
};
自己实现的比较麻烦,
---------------------------我的天空里没有太阳,总是黑夜,但并不暗,因为有东西代替了太阳。虽然没有太阳那么明亮,但对我来说已经足够。凭借着这份光,我便能把黑夜当成白天。我从来就没有太阳,所以不怕失去。
--------《白夜行》