我正在尝试找到一种方法来反转数字而无需
我目前正在以这种方式
public static int getReverse(int num){
int revnum =0;
for( int i = Integer.toString(num).length() - 1 ; num>0 ; i-- ){
revnum += num % 10 * Math.pow( 10 , i );
num /= 10;
}
return revnum;
}
但是我想实现以上三个条件。
我正在寻找一种方法,可能使用按位移位运算符或其他某种按位运算。
可能吗 ?如果可以,怎么办?
PS:如果输入1234,则应返回4321。我只会反转整数和多头
最佳答案
怎么样:
int revnum = 0;
while (num != 0) {
revnum = revnum * 10 + (num % 10);
num /= 10;
}
return revnum;
该代码需要一个非负输入。
这可能对您无关紧要,但值得注意的是,
getReverse(getReverse(x))
不一定等于x
,因为它不会保留尾随零。