题目描述:
A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28
解题思路:
循环读取数字,从左向右读取,每次该位字符减去A加上一即为该为数字代表的数值,然后每次循环前将之前的结果乘以26.表示该表示为26进制。
代码如下:
public class Solution {
public int titleToNumber(String s) {
int i = 0;
int result = 0;
int length;
if(s == null || (length = s.length()) == 0)
return 0;
while(i < length){
result *= 26;
result += s.charAt(i) - 'A' + 1;
i++;
}
return result;
}
}