问题描述
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
解决思路
本质上就是一个27进制数转10进制的问题。(2进制0-1,2的时候进位;8进制1-7,8的时候进位。A-Z,26个字母,第27个时进位)
代码
package leetcode;
public class ExcelSheetColumnNumber {
public int titleToNumber(String s) {
int result = 0;
for (int i = 0; i < s.length(); i++) {
result = result * 26 + (s.charAt(i) - 'A' + 1);
}
return result;
}
}