赞
踩
转化成string, 有负号先去掉负号,然后从string的尾部开始遍历,每一个字符放到第一个另一个字符串中去。
- int reverse(int x) {
- if (x == 0)
- return 0;
- bool isPositive = x > 0 ? true : false;
- string xStr = to_string(x);
- if (!isPositive)
- xStr = xStr.substr(1, xStr.size() - 1);
- string res;
- bool isTailZeroEnd = false;
- for (int i = xStr.size() - 1; i >= 0; i--) {
- if (xStr[i] != '0') {
- res.push_back(xStr[i]);
- isTailZeroEnd = true;
- }
- else if (!isTailZeroEnd&&xStr[i] == 0)
- continue;
- else
- res.push_back(xStr[i]);
- }
- if (res.size() == 10 && res >= to_string(INT_MAX)) {
- return 0;
- }
- return (isPositive ? 1 : -1)*stoi(res);
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。