1.题目

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

例如,

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

示例:

输入: "A"
输出: 1

输入: "AB"
输出: 28

输入: "ZY"
输出: 701

2.思路

这道题与前几天做的那道题类似,还是进制转换问题,之前那个是十进制转换为二十六进制,这道题反了一下:

    public int titleToNumber(String s) {
        int ans = 0;
        for(int i=0;i<s.length();i++) {
            int num = s.charAt(i) - 'A' + 1;
            ans = ans * 26 + num;
        }
        return ans;
    }