思路
首先将整数变为字符串,然后判断正负,如果是负数把负号去掉,再将字符串从后向前遍历,遍历过程中用一个long型记录转换后的数字
解题过程
最后判断转换后的数是否超出整型的边界即可
Code
class Solution {
public int reverse(int x) {
String s=Integer.toString(x);
boolean flag=true;
if(s.charAt(0)=='-'){
s=s.substring(1,s.length());
flag=false;
}
long ans=0;
int id=s.length()-1;
while(id>=0){
ans=ans*10+(s.charAt(id)-'0');
id--;
}
if(flag){
if(ans>Integer.MAX_VALUE)return 0;
else return (int)ans;
}else{
if(-1*ans<Integer.MIN_VALUE)return 0;
else{
ans=ans*-1;
return (int)ans;
}
}
}
}
作者:菜卷
链接:https://leetcode.cn/problems/reverse-integer/solutions/2923353/zheng-shu-fan-zhuan-by-ashi-jian-chong-d-uepn/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
原文链接: https://blog.csdn.net/qq_53568730/article/details/142375547