leetcode171:Excel表列序号
leetcode171:Excel表列序号
/**
* 给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回 该列名称对应的列序号 。
* @param columnTitle
* @return
* 思路:
* 1. 该题实质为一个10进制和26进制的转换为题
* 2. 注意唯一不同在于 A-Z字符代表的数字从1开始,26进制中从0开始
* 3. 对于给定的字符串,先计算当前位字符所代表的真是数字为多少,
* 4. 计算方式为 ‘CHAR’ - ‘A’ + 1
* 5. 则每次迭代计算公式为 res * 26 + num
*/
public int titleToNumber(String columnTitle) {
//定义变量保存结果
int res = 0;
//遍历每一个字母执行相应的运算
for (int i = 0; i < columnTitle.length(); i++) {
//得到当前位字母代表的数字
int bitNum = columnTitle.charAt(i) - 'A' + 1;
res = res * 26 + bitNum;
}
return res;
}