[LeetCode] 7. Reverse Integer

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;
    }
};






你可能感兴趣的:(leetcode)