Skip to content

171. Excel表列序号 #41

@sailei1

Description

@sailei1

给定一个Excel表格中的列名称,返回其相应的列序号。

例如,

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

示例 1:

输入: "A"
输出: 1
示例 2:

输入: "AB"
输出: 28
示例 3:

输入: "ZY"
输出: 701

解法:

Z=26 处在第2位 2626的2-1次方 2626
Y=25 出在第一位 26 的1-1次方 251
26
26+25*1=701

/**
 * @param {string} s
 * @return {number}
 */
var titleToNumber = function(s) {
      let key={
          'A':1,
          'B':2,
          'C':3,
          'D':4,
          'E':5,
          'F':6,
          'G':7,
          'H':8,
          'I':9,
          'J':10,
          'K':11,
          'L':12,
          'M':13,
          'N':14,
          'O':15,
          'P':16,
          'Q':17,
          'R':18,
          'S':19,
          'T':20,
          'U':21,
          'V':22,
          'W':23,
          'X':24,
          'Y':25,
          'Z':26
      };
    let str=s.split('').reverse(),rs=0;
    for(let i=0;i<str.length;i++){
        rs=key[str[i]]*Math.pow(26,i)+rs;  //转换公式 
    }
       return rs;
    
};

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions