LeetCode给出一个 32 位的有符号整数,将这个整数中每位上的数字进行反转。

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
示例 1:
输入: 123
输出: 321
示例 2:
输入: -123
输出: -321
示例 3:
输入: 120
输出: 21

注意:
假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[MAX_VALUE,MIN_VALUE]。请根据这个假设,如果反转后整数溢出那么就返回 0。

int reverse(int x) {
	int num[100];
	int a=x%10;
	int b=x/10,i=0;
	double n=0;
    while(b)
	{ 
       num[i]=a;  //把余数赋值给数组
	   a=b%10;
	   b=b/10;    
	   i++;  //数字的位数
	}
	if(!b)
	{
		 num[i]=a;
	}
	for(int j=0;j<i+1;j++)
	{
	    n=n*10+num[j];
		 if(n>INT_MAX||n<INT_MIN) return 0;
	}
  
	return (int)n;
}

在这里插入图片描述

发布了54 篇原创文章 · 获赞 40 · 访问量 241万+

猜你喜欢

转载自blog.csdn.net/tomy2426214836/article/details/88539743
今日推荐