题目
给你一个字符串 columnTitle
,表示 Excel 表格中的列名称。返回 该列名称对应的列序号 。
思路
1、初始化结果 ans = 0,遍历时将每个字母与 A 做减法,因为 A 表示 1,所以减法后需要每个数加 1,计算其代表的数值 num = 字母 - ‘A’ + 1
2、因为有 26 个字母,所以相当于 26 进制,每 26 个数则向前进一位
3、所以每遍历一位则ans = ans * 26 + num
4、
以 ZY 为例,Z 的值为 26,Y 的值为 25,则结果为 26 * 26 + 25=701
代码
class Solution {
public int titleToNumber(String s) {
int ans = 0;
for(int i=0;i<s.length();i++) {
int num = s.charAt(i) - 'A' + 1;
ans = ans * 26 + num;
}
return ans;
}
}