171. Excel Sheet Column Number*
https://leetcode.com/problems/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
C++ 实现 1
把这些字符串表示的数据视为 26 进制的数据.
首先, 每个字符 s[i]
表示的数据大小为 v = s[i] - 'A' + 1
, 每向左移动一位, 相当于乘上了 26. 那么, 如果字符串的长度为 N
, 那么位于第 i 位的字符表示的数据大小为
.
class Solution {
public:
int titleToNumber(string s) {
int sum = 0;
for (int i = 0; i < s.size(); ++ i) {
int v = s[i] - 'A' + 1;
sum += v * int(std::pow(26, s.size() - 1 - i));
}
return sum;
}
};