leetcode

Solution to some Leetcode problems written in C++
git clone git://git.dimitrijedobrota.com/leetcode.git
Log | Files | Refs | README | LICENSE

0937.cpp (958B)


0 class Solution {
1 public:
2 vector<string> reorderLogFiles(const vector<string> &logs) const {
3 const int n = size(logs);
5 typedef tuple<bool, int, string, string> record;
6 vector<record> vec(n);
8 for (int i = 0; i < n; i++) {
9 bool letter = false, space = false;
10 int idx = 0;
11 for (int j = 0; j < size(logs[i]); j++) {
12 if (logs[i][j] == ' ')
13 space = true;
14 else if (!space)
15 idx = j;
16 else {
17 letter = isalpha(logs[i][j]);
18 break;
19 }
20 }
21 vec[i] = {!letter, letter ? 0 : i, logs[i].substr(idx + 2), logs[i].substr(0, idx + 1)};
22 }
24 sort(begin(vec), end(vec));
25 vector<string> res(n);
26 for (int i = 0; i < n; i++)
27 res[i] = get<3>(vec[i]) + " " + get<2>(vec[i]);
28 return res;
29 }
30 };