From c5c5a802895048e21a1144b2517fc833514ce910 Mon Sep 17 00:00:00 2001 From: crupest Date: Thu, 17 Sep 2020 18:57:32 +0800 Subject: Add problem 1370 . --- cpp/1370.cpp | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 cpp/1370.cpp diff --git a/cpp/1370.cpp b/cpp/1370.cpp new file mode 100644 index 0000000..9741d48 --- /dev/null +++ b/cpp/1370.cpp @@ -0,0 +1,45 @@ +#include + +using std::string; + +class Solution +{ +public: + string sortString(string s) + { + int count[26]{0}; + + for (auto c : s) + { + count[c - 'a']++; + } + + int total_count = s.size(); + string result; + + while (total_count) + { + for (int i = 0; i < 26; i++) + { + if (count[i]) + { + count[i]--; + total_count--; + result.push_back(i + 'a'); + } + } + + for (int i = 25; i >= 0; i--) + { + if (count[i]) + { + count[i]--; + total_count--; + result.push_back(i + 'a'); + } + } + } + + return result; + } +}; -- cgit v1.2.3