1. 程式人生 > >LeetCode:171、Excel表列序號

LeetCode:171、Excel表列序號

題目描述:

給定一個Excel表格中的列名稱,返回其相應的列序號。

例如:

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

示例:

  • 示例1:
輸入: "A"
輸出: 1
  • 示例2:
輸入: "AB"
輸出: 28
  • 示例3:
輸入: "ZY"
輸出: 701

解題思路:

相當於26進位制轉化成十進位制,類似於二進位制與十進位制之間的轉換。

AC程式碼:

class Solution {
public:
    int titleToNumber(string s) {
        int result = 0;
        for(int i = 0; i < s.length(); i++)
        {
            result = result * 26 + (s[i] - 'A' + 1);
        }
        return result;
    }
};