问题描述:
Related to question Excel Sheet Column Title
Given a column title as appear in an Excel sheet, return its corresponding column number.
For example:
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
解析:找到字母和数字之间对应的规律就行了。没什么难度。
public int titleToNumber(String s) {
if(s==null||"".equals(s))
return 0;
int sum=0;
for(int i=0;i<s.length();i++){
sum=(int) (sum+getNum(s.charAt(i))*Math.pow(26, (s.length()-i-1)));
}
return sum;
}
public int getNum(char s){
switch (s) {
case 'A':
return 1;
case 'B':
return 2;
case 'C':
return 3;
case 'D':
return 4;
case 'E':
return 5;
case 'F':
return 6;
case 'G':
return 7;
case 'H':
return 8;
case 'I':
return 9;
case 'J':
return 10;
case 'K':
return 11;
case 'L':
return 12;
case 'M':
return 13;
case 'N':
return 14;
case 'O':
return 15;
case 'P':
return 16;
case 'Q':
return 17;
case 'R':
return 18;
case 'S':
return 19;
case 'T':
return 20;
case 'U':
return 21;
case 'V':
return 22;
case 'W':
return 23;
case 'X':
return 24;
case 'Y':
return 25;
case 'Z':
return 26;
default:
return 0;
}
}