图片整理
思路
这道题说白了就是:给你一个由大小写字母和数字组成的字符串,按 ASCII 码值从小到大排序输出。
ASCII 码的大小顺序是:数字 0-9 < 大写字母 A-Z < 小写字母 a-z,所以排序后数字排最前面,然后是大写字母,最后是小写字母。
直接调用语言内置的排序函数就行了,因为默认就是按字符的 ASCII 码值排序的。没什么弯弯绕绕,属于排序的入门练手题。
代码
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main() {
string s;
getline(cin, s);
sort(s.begin(), s.end());
cout << s << endl;
return 0;
}
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
char[] arr = s.toCharArray();
Arrays.sort(arr);
System.out.println(new String(arr));
}
}
s = input()
print(''.join(sorted(s)))
const readline = require('readline');
const rl = readline.createInterface({ input: process.stdin });
rl.on('line', (line) => {
console.log(line.split('').sort().join(''));
rl.close();
});
复杂度分析
- 时间复杂度:
,其中
是字符串长度。排序的时间复杂度。
- 空间复杂度:
,排序过程中需要额外空间。

京公网安备 11010502036488号