【LeetCode】LeetCode——第7题:Reverse Integer

7. Reverse Integer

    My Submissions
Question Editorial Solution
Total Accepted: 134949  Total Submissions: 571327  Difficulty: Easy

Reverse digits of an integer.

Example1: x = 123, return 321
Example2: x = -123, return -321

click to show spoilers.

Subscribe to see which companies asked this question

Show Tags
Show Similar Problems
















题目的大概意思是:给定一个int型的整数,将它反转过来并输出。

这道题难度等级:简单

解题思路是:将整数的各位置上的数提取出来并乘以10的相应次方,并全部加起来。

需要注意的是,由于反转可能导致溢出,还有正负整数的处理。

代码如下:

class Solution {
public:
	int reverse(int x) {
		int y = abs(x);
		int z = (x == y) ? 1 : -1;
		long tmp = 0;//避免溢出
		while(y){
			tmp = tmp * 10 + y % 10;
			y /= 10;
		}
		if (z * tmp > INT_MAX || z * tmp < INT_MIN){
			return 0;
		}
		return z * tmp;
	}
};
提交后顺利AC掉该题,Runtime: 8 ms

你可能感兴趣的:(LeetCode,Integer,reverse)