leetcode解题: Excel Sheet Column Number (171)

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

解法1:O(N) 26进制到10进制转换

26进制转换为10进制的算法。关键的一句就是res = res * 26 + (s[i] - ‘A’ + 1), 从高位向低位运算。往下一位时要把之前的结果乘以26。
C++

1
2
3
4
5
6
7
8
9
10
class Solution {
public:
int titleToNumber(string s) {
int res = 0;
for (int i = 0; i < s.size(); ++i) {
res = res * 26 + (s[i] - 'A' + 1);
}
return res;
}
};

Java

1