题目
leetCode 第 171 题,Excel 表列序号 关联类型:数学
给定一个Excel表格中的列名称,返回其相应的列序号。
例如,
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
...
示例 1:
输入: "A"
输出: 1
示例 2:
输入: "AB"
输出: 28
示例 3:
输入: "ZY"
输出: 701
做题时间
class Solution {
public int titleToNumber(String columnTitle) {
}
}
以上给出方法输入参数,完成作答。
题目分析
可以理解为 26 进制进行求解,将字符串转成字符数组,然后循环从末尾开始叠加,最终得出结果
解答分析
本文只分析本人做题思路,仅供参考,了解一种解题思想,其他各种做题思路请上网查阅。
解答成功:
执行耗时:2 ms,击败了29.32% 的Java用户
内存消耗:38.3 MB,击败了87.83% 的Java用户
class Solution {
public int titleToNumber(String columnTitle) {
char[] chars = columnTitle.toCharArray();
int num = 0;
for (int i = 0; i < chars.length; i++) {
num += Math.pow(26, i) * ((int) (chars[chars.length - 1 - i]) - 64);
}
return num;
}
}