给定一个Excel表格中的列名称,返回其相应的列序号。
例如:
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
...
示例 1:
输入: "A" 输出: 1
示例 2:
输入: "AB" 输出: 28
示例 3:
输入: "ZY" 输出: 701
方法:
进制转换
代码:
// 171. Excel表列序号
static void test_171() {
String title = "A";
//String title = "AB";
//String title = "ZY";
int ret = titleToNumber(title);
System.out.println("ret:" + ret);
}
static int titleToNumber(String columnTitle) {
int ans = 0;
int size = columnTitle.length();
for (int i = 0;i < size; i++) {
int x = columnTitle.charAt(i) - 'A' + 1;
ans += x*Math.pow(26, size - 1 - i);
}
return ans;
}