题目:表序列号
给你一个字符串 columnTitle
,表示 Excel 表格中的列名称。返回 该列名称对应的列序号 。
例如:
A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 示例 1: 输入: columnTitle = "A" 输出: 1 示例 2: 输入: columnTitle = "AB" 输出: 28
基本思路:
- 从头开始取字符
- 字符减去 64 然后乘以权重
代码:
public static int titleToNumber(String columnTitle) {
int result = 0;
for ( int i=0; i<columnTitle.length(); i++ ) {
// 权重
int weight = (int)Math.pow(26, columnTitle.length()-i-1);
char c = columnTitle.charAt(i);
result = result + (c-64)*weight;
}
return result;
}