问题描述
写一个方法 实现 传入一个int类型的参数 比如123456 结果返回为654321 不能更改类型 一道面试题 没作出来 有人帮个忙吗 谢谢
解决方案
没有使用任何进制转换,不过代码麻烦了点.public int myReserve(int oriNum){int tempNum=oriNum,count,result=0;for(count=0;tempNum>0;tempNum/=10,count++);//算出该数有多少位while(oriNum>0){int num=oriNum%10;//取出该位上的数.for(int i=1;i<count;i++){//count标识当前正在处理第几位数.num*=10;}count--;//标识向前移一位.result+=num;oriNum/=10;//切掉处理过的位数.};return result;}
解决方案二:
public static int convert(int num) {int result = 0;if(num == 0) {return result;}int sign = num / Math.abs(num);num *= sign;while(num > 0) {int i = num % 10;num = num / 10;result = result * 10 + i;}return result * sign;}
时间: 2024-10-27 08:14:05