题解 | #字符串排序#
字符串排序
https://www.nowcoder.com/practice/5190a1db6f4f4ddb92fd9c365c944584
#include <cctype> #include <iostream> #include <string> #include <algorithm> using namespace std; // 根据规则2 将同一个字符视为一个整体 int main() { string inp; getline(cin, inp); int N = inp.size(); string t = ""; for (int i = 0; i < N; i++) { if ((inp[i] >= 'a' && inp[i] <= 'z') || (inp[i] >= 'A' && inp[i] <= 'Z')) { t.push_back(inp[i]); } } // cout << t; stable_sort(t.begin(), t.end(), [](const char& a, const char& b){ return tolower(a) < tolower(b); }); int j = 0; for (int i = 0; i < N; i++) { if ((inp[i] >= 'a' && inp[i] <= 'z') || (inp[i] >= 'A' && inp[i] <= 'Z')) { inp[i] = t[j]; j++; } } cout << inp; } // 64 位输出请用 printf("%lld")#华为机试#
华为OD机测试题 文章被收录于专栏
个人练习专栏