leetcodeSolution 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); 4 5 typedef tuple<bool, int, string, string> record; 6 vector<record> vec(n); 7 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 } 23 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 };