题解
【基础】表达式的值
1 条题解
-
0
解题思路
题目要求计算只含 + 的表达式。从左到右扫描,遇到数字就拼接到当前数字后面,遇到 + 就把当前数字加到结果中。
参考代码
#include <iostream> #include <string> using namespace std; int main() { string s; cin >> s; int ans = 0, num = 0; for (int i = 0; i < s.size(); i++) { if (s[i] >= '0' && s[i] <= '9') { num = num * 10 + (s[i] - '0'); } else { ans += num; num = 0; } } ans += num; cout << ans << endl; return 0; }复杂度分析
- 时间复杂度:O(N)
- 空间复杂度:O(1)
- 1