1 条题解
-
0
【例68.3】 忽略大小写的字符串比较
解题思路
先把两个串的全部字母转为同一种大小写,再用string字典序比较,输出<、>或=。
正确性说明
依题目给出的对应关系逐项处理,位置与原输入保持明确对应。每一步完成当前项的全部贡献,结束后得到所有位置或字符的目标结果。
易错点
如果一个是另一个前缀,较短者小;string自带比较已处理。
复杂度
时间O(L),空间O(L)。
参考代码(C++11)
#include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); string a, b; cin >> a >> b; for (char &c : a) c = tolower(static_cast<unsigned char>(c)); for (char &c : b) c = tolower(static_cast<unsigned char>(c)); cout << (a < b ? '<' : a > b ? '>' : '=') << "\n"; return 0; }
- 1