171. Excel Sheet Column Number
Description
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
Solution
- 題意即將Excel的列表號(通常是字母)轉換成數字形式,轉換方式就是A-Z分別代表1-26,包括進位等,舉例中說得很明顯。
- 其實這就是一個將數碼全部用字母表示的26進制數轉換爲數字形式的十進制,還是按照加權的方式轉換。
- 從最低位開始,權值分別是1、26、26^2……按照進制轉換的方式寫即可,代碼如下。
class Solution {
public:
int titleToNumber(string s) {
int rnt = 0;
int index = 0;
for (int i = s.size() - 1;i >= 0;i--) {
rnt += (s[i] - 'A' + 1) * int(pow(26,index));
index++;
}
return rnt;
}
};