一个面试题:
java 实现将一个int数组变为一个int整数。例如:int[] arr = new int[]{1,2,3,4,5}; 变为12345
/**
* Created by leo on 15/10/27.
*/
public class Interview {
public static void main(String[] args) {
System.out.println(parseInt(new int[]{1,2,3,4,5}));
System.out.println(Integer.parseInt("12345"));
}
/**
* 12345
* @param arr
* @return
*/
public static final int parseInt(int[] arr){
int length = arr.length;
int total = 0;
for (int i = 0; i < length; i++){
int num = arr[i];
total = total + calculateWeightNum(num, length - (i + 1)) ;
}
return total;
}
public static final int parseInt(String str){
int length = str.length();
int total = 0;
for (int i = 0; i < length; i++){
int num = Character.digit(str.charAt(i), 10);
total = total + calculateWeightNum(num, length - (i + 1)) ;
}
return total;
}
private static int calculateWeightNum(int num , int numOfTen){
int result = num;
for (int i = 0; numOfTen > 0 && i < numOfTen; i++){
result = result * 10;
}
return result;
}
}
转载于:https://blog.51cto.com/leokongwq/1706710