1 条题解
-
0
📝 题目大意
给定一个仅由
0和1组成的字符串 ,将每个字符取反(0变1,1变0)后输出。💡 解题思路
- 题目分析:字符串长度在 到 之间,数据量极小,直接模拟即可。每个字符只有两种可能,逻辑非常简单。
- 算法推导:读入字符串 ,遍历每个字符 :
- 若 ,输出 ;
- 否则(即 ),输出 。 无需存储结果,直接边遍历边输出,节省空间。
- 边界与细节:无特殊边界情况。字符串由题目保证仅含
01,不需要额外判断非法字符。
⏱️ 复杂度分析
- 时间复杂度:,其中 为字符串长度,每个字符处理一次。
- 空间复杂度:,仅使用输入字符串的存储空间(也可视为 ),无额外辅助数组。
💻 标准代码 (C++)
#include<bits/stdc++.h> using namespace std; string s; int main(){ cin >> s; // 读入 01 字符串 int n = s.size(); // 获取字符串长度 for (int i = 0; i < n; i++) { // 遍历每个字符 if (s[i] == '0') // 若当前字符为 '0' cout << "1"; // 输出 '1' else // 否则当前字符为 '1' cout << "0"; // 输出 '0' } return 0; }
- 1
信息
- ID
- 681
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- (无)
- 递交数
- 1
- 已通过
- 1
- 上传者