171. Excel Sheet Column Number

題目原文

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 
    ...

Example 1:

Input: "A"
Output: 1

Example 2:

Input: "AB"
Output: 28

Example 3:

Input: "ZY"
Output: 701

解題思路

  1. 範例"AAA"。

  2. 看字母在第幾個位數,比如A在第三位,就是26^2=676 。

  3. 第二個A在第二位,為26^1=26。

  4. 第三個A在最低位,為1。

  5. 所以答案是676+26+1=703。

程式解答

class Solution 
{
public:
    int titleToNumber(string s) 
    {
        int size = s.length();
        int total = 0;
        
        for (int i = 0; i < size; i++)
        {
            total += pow(26, size- i - 1) * (s.at(i) - 'A' + 1);
            //cout << "size: " << size << ", " << "total: " << total << endl;
        }
        return total;
    }
};

Last updated

Was this helpful?