每天一到算法题-字符串
白话描述:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。来源:力扣(LeetCode)链接:https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/xnx13t/
白话实现:纯数学问题 很巧妙
class Solution {
public int reverse(int x) {
int temp=0;
while(x!=0){
int pop=x%10;
if(temp>Integer.MAX_VALUE/10||((temp==Integer.MAX_VALUE/10)&&(pop>7)))return 0;
if(temp<Integer.MIN_VALUE/10||((temp==Integer.MIN_VALUE/10)&&(pop<-8)))return 0;
temp=temp*10+pop;
x/=10;
}
return temp;
}
}