目录
一、题目
二、代码
一、题目
力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
二、代码
定义了一个vector<vector<string>> v(MAX);采用const string& word : v[k]
word
就会依次取得 v[k]
中的每个元素(v[k][0],v[k][1]...
)
class Solution {
public:
string sortSentence(string s) {
int MAX = INT_MIN;
for(int i = 0; i < s.length(); i++) {
if(s[i] <= '9' && s[i] >= '1') {
MAX = (s[i]-'0') > MAX ? (s[i]-'0') : MAX;
}
}
vector<vector<string>> v(MAX);
int i = 0, j = 0;
while(j < s.length()) {
if(s[j] <= '9' && s[j] >= '1') {
v[s[j]-'0'-1].push_back(s.substr(i, j-i));
j += 2;
i = j;
} else {
j++;
}
}
string ret;
for(int k = 0; k < MAX - 1; k++) {
for(const string& word : v[k])
//每次循环中,word 就会依次取得 v[k] 中的每个元素
{
ret += word;
ret += ' ';
}
}
for(const string& word : v[MAX-1])
{
ret += word;
}
return ret;
}
};