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
thinking:
进制之间的装换
solution:
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;
}
@//Test
public void test() {
Assert.assertEquals(1, titleToNumber("A"));
Assert.assertEquals(2, titleToNumber("B"));
Assert.assertEquals(3, titleToNumber("C"));
Assert.assertEquals(26, titleToNumber("Z"));
Assert.assertEquals(27, titleToNumber("AA"));
Assert.assertEquals(28, titleToNumber("AB"));
Assert.assertEquals(53, titleToNumber("BA"));
System.out.println(titleToNumber("AAA"));
}
}
reference