字符串排序(HJ14)
字符串排序
题目描述
https://www.nowcoder.com/share/jump/5832603751775720180207
给定 n 个字符串,按字典序从小到大排序后输出。
示例
输入:
5
cap
cat
card
two
upcap
card
cat
two
up解题思路
Python 内置排序
Python 的 list.sort()
方法默认按字典序(字典顺序)排序字符串,直接使用即可。
代码实现
n = int(input())
arr = [input().strip() for _ in range(n)]
arr.sort()
for s in arr:
print(s)代码解析
arr.sort() - 就地排序
arr.sort() # 直接修改 arr,不返回新列表字典序规则:逐字符比较 ASCII 码
"cap" vs "card"
c = c → 相等
a = a → 相等
p < d → "cap" < "card" (False)实际上 p (112) > d (100),所以
"card" < "cap"
输出排序结果
for s in arr:
print(s) # 逐行输出时间复杂度
- O(n log n × m) - n 个字符串,每个平均长度 m,排序比较 O(m)
空间复杂度
- O(n × m) - 存储 n 个字符串
字符串排序(HJ14)
https://mingsm17518.github.io/2026/04/09/algorithm/华为机考/nowcoder/String/14_sort_strings/