Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public:
- struct comp{
- bool operator()(string &a, string &b){
- int p1 = a.find(' ');
- int p2 = b.find(' ');
- string s1 = a.substr(p1+1);
- string s2 = b.substr(p2+1);
- if(s1==s2) return a < b;
- return s1 < s2;
- }
- };
- vector<string> reorderLogFiles(vector<string>& logs) {
- vector<string> letter;
- vector<string> digits;
- vector<string> res;
- for (int i = 0; i < logs.size(); i++){
- int pos = logs[i].find(' ');
- if(isdigit(logs[i][pos+1])){
- digits.push_back(logs[i]);
- }
- else{
- letter.push_back(logs[i]);
- }
- }
- sort(letter.begin(), letter.end(), comp());
- res.insert(res.end(), letter.begin(), letter.end());
- res.insert(res.end(), digits.begin(), digits.end());
- return res;
- }
- };
- -----------------------------------
- bool comp(string &a, string &b){
- int p1 = a.find(' ');
- int p2 = b.find(' ');
- string s1 = a.substr(p1+1);
- string s2 = b.substr(p2+1);
- if(s1==s2) return a < b;
- return s1 < s2;
- }
- class Solution {
- public:
- vector<string> reorderLogFiles(vector<string>& logs) {
- vector<string> letter;
- vector<string> digits;
- vector<string> res;
- for (int i = 0; i < logs.size(); i++){
- int pos = logs[i].find(' ');
- if(isdigit(logs[i][pos+1])){
- digits.push_back(logs[i]);
- }
- else{
- letter.push_back(logs[i]);
- }
- }
- sort(letter.begin(), letter.end(), comp);
- res.insert(res.end(), letter.begin(), letter.end());
- res.insert(res.end(), digits.begin(), digits.end());
- return res;
- }
- };
Add Comment
Please, Sign In to add comment