Run ID:146539

提交时间:2026-01-29 12:09:33

#include #include // 用于reverse函数 using namespace std; int main() { string s; cin >> s; if (s == "0") { cout << 0 << endl; return 0; } string result; if (s[0] == '-') { // 处理负数:保留负号,反转数字部分 result += '-'; string num_part = s.substr(1); reverse(num_part.begin(), num_part.end()); // 找到第一个非零位置,去除前导零 size_t first_non_zero = num_part.find_first_not_of('0'); if (first_non_zero != string::npos) { result += num_part.substr(first_non_zero); } else { result += '0'; // 处理输入为-0000的特殊情况 } } else { // 处理正数:直接反转后去除前导零 reverse(s.begin(), s.end()); size_t first_non_zero = s.find_first_not_of('0'); if (first_non_zero != string::npos) { result = s.substr(first_non_zero); } else { result = "0"; // 处理输入为0000的特殊情况 } } cout << result << endl; return 0; }