Excel 表列序号-简单

难度:简单

题目描述:
给定一个 Excel 表格中的列名称,返回其相应的列序号。
A -> 1
    B -> 2
    C -> 3
    ...
    Z -> 26
    AA -> 27
    AB -> 28

示例:

输入: "A";
输出: 1;
输入: "AB";
输出: 28;
1
2
3
4


解题思路:
从末尾开始取得每一个字符对应的数cur = c.charCodeAt() - 64
数字总和sum += 当前数 * 进制位数
进制位数 *= 26,初始化进制位数carry = 1
var titleToNumber = function (s) {
  let sum = 0,
    i = s.length - 1,
    carry = 1;

  while (i >= 0) {
    let cur = s[i].charCodeAt() - 64;

    sum += cur * carry;
    carry *= 26;
    i--;
  }

  return sum;
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
最后更新时间: 5/1/2020, 6:24:35 PM