题目描述:
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; } }