1 条题解
-
0
G3026 [GESP202606 三级] 字符转换 题解
知识点:字符分类、大小写转换、字符串。
解题思路
按字符类别转换:数字变成*,小写转大写,大写转小写,逐个输出。
为什么正确
三类分支在题目输入范围内互斥且完备,每个字符独立转换。
易错点
不要先统一转换全串导致后续判断类别错误;字符输出而非其编码值。
复杂度
时间O(n),空间O(n)。
参考代码(C++17)
#include<bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n; string s; cin>>n>>s; for(char c:s)cout<<(isdigit(c)?'*':islower(c)?char(toupper(c)):char(tolower(c))); }说明
本题解为配套教学整理,非官方题解。复杂度按本页参考实现计算,题库使用6个自行生成的测试点。
- 1