Java,C++代码一样:
class Solution {
public int reverse(int x) {
int num;
int turn=0;
while(x!=0){
num=x%10;//获得数字
if(turn>214748364||(turn==214748364&&num>7)){//判断是否会溢出
return 0;
}
if(turn<-214748364||(turn==-214748364&&num<-8)){
return 0;
}
turn=turn*10+num;//更新
x=x/10;//更新x,以便获得下一位数字
}
return turn;
}
}
同样的代码,但是所占内存差很多。
- Java的人设决定它实现“空间换时间”的可被接受的程度大。
- (而C++在牺牲编译速度以实现优化的可接受程度大。)