题目描述
给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回该列名称对应的列序号。
样例描述
示例 1:
输入: columnTitle = "A"
输出: 1
示例 2:
输入: columnTitle = "AB"
输出: 28
思路
- 进制转换。Excel表列序号是由大写字母组成的,实质上可以看成26进制转换。
十进制转换时,常用方法为循环遍历时:ans=ans∗10 + num
- 本题只需要将10改成26,注意A是1开始的,所以减去
A
后还要加一
代码
class Solution {
public int titleToNumber(String columnTitle) {
char columnArray[] = columnTitle.toCharArray();
int ans = 0;
for (int i = 0; i < columnArray.length; i ++ ) {
//由于A是1,所以还要加一
int num = columnArray[i] - 'A' + 1;
//二十六进制转换
ans = 26 * ans + num;
}
return ans;
}
}