题解 | #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")

这道题最大的坑,我认为是,遇到长度过长的整数,所以用字符串的方式处理。

全部评论

相关推荐

02-26 13:56
已编辑
重庆财经学院 Java
King987:你有实习经历,但是写的也太简单了,这肯定是不行的,你主要要包装实习经历这一块,看我的作品,你自己包装一下吧,或者发我,我给你出一期作品
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务