171. Excel表列序号
题目描述
给定一个Excel表格中的列名称,返回其相应的列序号。
例如,
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
...
示例 1:
输入: "A"
输出: 1
示例 2:
输入: "AB"
输出: 28
示例 3:
输入: "ZY"
输出: 701
思路
先将字符串转为字符数组,'A’代表1,相当于26进制。
将’A’转为1的方法是:将字符数组的每一位 - ‘A’ + 1
实现
class Solution {
public int titleToNumber(String s) {
char[] arr = s.toCharArray();
int res = 0; //结果
for(int i=0; i<arr.length; i++) {
int index = arr.length - i - 1; //后面是低位
res = res + (int)Math.pow(26, i) * ((arr[index] - 'A') + 1);
}
return res;
}
}
本文介绍了一种算法,用于将Excel表格中的列名称转换为其对应的列序号。通过将列名视为26进制数,实现了从A到1、AB到28等的转换。示例包括A到1、AB到28、ZY到701的转换。
425

被折叠的 条评论
为什么被折叠?



