Excel 表列序号

题目链接

Excel 表列序号

题目描述

Excel 表列序号_第1张图片

注意点

  • columnTitle 仅由大写英文组成
  • 1 <= columnTitle.length <= 7

解答思路

  • 对于"CAB",计算其序列号的思路:字母B的贡献值为2,字母A的贡献值为1 * 26,字母C的贡献值为3 * 26 * 26,所以每个位置的贡献值取决于既其处于第几位(处于第i位则需要乘Math.pow(26, i - 1)),还取决于该字母比A大多少(columnTitle.charAt(i) - ‘A’ + 1)

代码

class Solution {
    public int titleToNumber(String columnTitle) {
        int res = 0;
        int mutiple = 1;
        int n = columnTitle.length();
        for (int i = n - 1; i >= 0; i--) {
            res += mutiple * (columnTitle.charAt(i) - 'A' + 1);
            mutiple *= 26;
        }
        return res;
    }
}

关键点

你可能感兴趣的:(算法,算法,leetcode,数据结构,java)