题解 | #23年OPPO-a的翻转#
23年OPPO-a的翻转
https://www.nowcoder.com/practice/dcce2d0cc8f740c29e0885df96c9d625
#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
int main() {
string a;
vector<int> vec;
while (cin >> a) { // 注意 while 处理多个 case
int flag = 0;
int l, r;
for (int i = 0; i < a.size(); ++i) {
l = a[i] - '0';
r = a[a.size() - i - 1] - '0';
vec.push_back((l + r + flag) % 10);
flag = (l + r + flag) / 10;
}
if (flag > 0) {
vec.push_back(flag);
}
reverse(vec.rbegin(), vec.rend());
for (int it : vec) {
cout << it;
}
cout << endl;
}
}
// 64 位输出请用 printf("%lld")
这道题最大的坑,我认为是,遇到长度过长的整数,所以用字符串的方式处理。
查看12道真题和解析