题目地址:
https://www.lintcode.com/problem/excel-sheet-column-number/description
给定一个Excel表的列的编号,问其是第几列。计数从 1 1 1开始。
我们发现很类似于 26 26 26进制展开。代码如下:
public class Solution {
/**
* @param s: a string
* @return: return a integer
*/
public int titleToNumber(String s) {
// write your code here
int res = 0;
for (int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
res = res * 26 + ch - 'A' + 1;
}
return res;
}
}
时间复杂度 O ( n ) O(n) O(n),空间 O ( 1 ) O(1) O(1)。