Excel Sheet Column Title (easy)

来源:互联网 发布:指针数组如何定义 编辑:程序博客网 时间:2024/05/16 11:49

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 

class Solution {

public:
    int titleToNumber(string s) {
        int number=0;
        for(int i=0;i<s.length();i++)
        {
            number=26*number+s[i]-65+1;
        }
        return number;
    
    }

};

这个问题也非常简单,无非就是把十制问题变成了一个26进制的问题。但其中有几个关键点,string的.length函数;string的第一个字符为最高位,如ABC,s[0]='A',存的是ASCII码。那既然是从高位到低位存储,就需要通过迭代来进行求解。如ABC所对应的数字为1*26*26+2*26+3,分解开来,就是26*(26*1+2)+3。这个太简单,再如ABCD,分解开来,2626*(26*1+2)+3+4。总之,都可以通过迭代来进行求解。是不是很简单呢?


0 0