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++12345678910class 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; }};
Java1