171. Excel表列序号
题目描述
给定一个Excel表格中的列名称,返回其相应的列序号。
例如,
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
...
示例 1:
输入: "A"
输出: 1
示例 2:
输入: "AB"
输出: 28
示例 3:
输入: "ZY"
输出: 701
思路
先将字符串转为字符数组,'A’代表1,相当于26进制。
将’A’转为1的方法是:将字符数组的每一位 - ‘A’ + 1
实现
class Solution {
public int titleToNumber(String s) {
char[] arr = s.toCharArray();
int res = 0; //结果
for(int i=0; i<arr.length; i++) {
int index = arr.length - i - 1; //后面是低位
res = res + (int)Math.pow(26, i) * ((arr[index] - 'A') + 1);
}
return res;
}
}