171. Excel表列序号_难度简单_26进制转十进制

171. Excel表列序号

难度简单

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

例如,

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

示例 1:

输入: "A"
输出: 1

示例 2:

输入: "AB"
输出: 28

示例 3:

输入: "ZY"
输出: 701

 


解法1:

class Solution {
    public int titleToNumber(String str) {
        /*
        从前往后遍历
        仿10进制
        2019
        10 * 0 + 2
        10 * Z + 0
        10 * Z + 1
        10 * Z + 9
        */
        int Z = 0;
        for (int i = 0; i < str.length(); i++) {
            // A 代表十进制里的 1
            // B 代表十进制里的 2, 以此类推
            int digit = str.charAt(i) - 'A' + 1;
            Z = 26 * Z + digit;
        }
        return Z;
    }
}

 

你可能感兴趣的:(力扣刷题,进制转换)