leetcode 171题

Posted by franki on August 29, 2021

leetcode 171题 Excel 表列序号

给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回该列名称对应的列序号。

例如,

  A -> 1
    B -> 2
    C -> 3
    ...
    Z -> 26
    AA -> 27
    AB -> 28 
    ...

示例 1:

输入: columnTitle = "A"
输出: 1

示例 2:

输入: columnTitle = "AB"
输出: 28

示例 3:

输入: columnTitle = "ZY"
输出: 701

示例 4:

输入: columnTitle = "FXSHRXW"
输出: 2147483647

思路

乘法 + 累加

代码

var titleToNumber = function(columnTitle) {
    let val = 0, res = 0;
    for (let s of columnTitle) {
        val = s.charCodeAt() - 'A'.charCodeAt() + 1;
        res = res * 26 + val;
    }
    return res;
};

复杂度分析

  • 时间复杂度:O(N)
  • 空间复杂度:O(1)