您的位置:首页 > 其它

[LeetCode] 7. Reverse Integer

2016-10-07 19:52 561 查看
1、题目:

Reverse digits of an integer.

Example1: x = 123, return 321

Example2: x = -123, return -321

2、解决方法:

(1)利用to_string方法将int类型的x转为string类型的str_x。

(2)利用泛型算法中的reverse方法将str_x进行反转。

(3)利用stoi方法将str_x转为int类型并赋值给x。

其中需要注意的是:

(1)x为负时,reverse从str_x的begin()+1位置开始反转。

(2)对于反转的值超出int范围,此时运行会出错,需要加个异常处理,返回0。

代码如下:

class Solution {
public:
int reverse(int x) {
string str_x = to_string(x);
if (x < 0)
std::reverse(str_x.begin() + 1, str_x.end());
else
std::reverse(str_x.begin(), str_x.end());
try {
x = stoi(str_x);
} catch (exception e) {
return 0;
}
return x;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息