top1编程
← 返回题目
题解

数字反转

1 条题解

  • 0
    @ 2026-7-29 0:21:28
    #include <iostream>
    #include <string>
    #include <algorithm>
    #include <cmath>
    
    using namespace std;
    
    int main() {
        int N;
        cin >> N; // 输入一个整数
    
        // 处理负数
        bool isNegative = N < 0;
        if (isNegative) {
            N = -N; // 转换为正数
        }
    
        // 将整数转换为字符串
        string numStr = to_string(N);
    
        // 反转字符串
        reverse(numStr.begin(), numStr.end());
    
        // 去除前导零
        numStr.erase(0, min(numStr.find_first_not_of('0'), numStr.size() - 1));
    
        // 如果结果为0,确保输出为0
        if (numStr.empty()) {
            numStr = "0";
        }
    
        // 如果原数是负数,添加负号
        if (isNegative) {
            numStr = "-" + numStr;
        }
    
        // 输出结果
        cout << numStr << endl;
    
        return 0;
    }
    
    • 1