Excel Sheet Column Number To

来源:互联网 发布:网页源码加密 编辑:程序博客网 时间:2024/05/17 05:19

https://oj.leetcode.com/problems/excel-sheet-column-number/

Related to question Excel Sheet Column Title

Given a column title as appear in an Excel sheet, return its corresponding column number.

For example:

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

 public int titleToNumber(String s)


这一题相对Excel Sheet Column Title就容易做的多了。因为这题本质是一个没有0或者说遇到0就退位的26进制数和正常10进制数的相互转换,如果是10进制数往这种数字转换,就需要考虑到退位的问题,但相反,如果是这种数字往10进制数转换的时候,就不需要考虑这些了。所以这一题就和16进制转成10进制一样,从低位到高位也可以,从高位到低位也可以,当前位的字符减去'A' + 1(因为起始字符就是A,而对应的起始数字就是1而不是0),然后乘以pow(26, 当前位数)相加即可。根据此,给出代码如下:

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


0 0
原创粉丝点击