题目链接
题目描述
注意点
- columnTitle 仅由大写英文组成
- 1 <= columnTitle.length <= 7
解答思路
- 对于"CAB",计算其序列号的思路:字母B的贡献值为2,字母A的贡献值为1 * 26,字母C的贡献值为3 * 26 * 26,所以每个位置的贡献值取决于既其处于第几位(处于第i位则需要乘Math.pow(26, i - 1)),还取决于该字母比A大多少(columnTitle.charAt(i) - 'A' + 1)
代码
java
class Solution {
public int titleToNumber(String columnTitle) {
int res = 0;
int mutiple = 1;
int n = columnTitle.length();
for (int i = n - 1; i >= 0; i--) {
res += mutiple * (columnTitle.charAt(i) - 'A' + 1);
mutiple *= 26;
}
return res;
}
}
关键点
- 无