Related to question Excel Sheet Column TitleGiven 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
就是把26进制转换为10进制
1 public class Solution { 2 public int titleToNumber(String s) { 3 int res = 0; 4 for (int i=0; i
从least significant bit开始
26进制
复杂度
时间 O(N) 空间 O(1)
思路
得到数字,其实就是把26进制的数转换为10进制的数。算法就是基本的进制转换方法,从后往前第n位的值乘上26^(n-1)
。这里26进制数是1开始的,即A是1。
1 public class Solution { 2 public int titleToNumber(String s) { 3 int res = 0; 4 int len = s.length(); 5 int k = 1; 6 for (int i=len-1; i>=0; i--) { 7 char c = s.charAt(i); 8 res += (int)(c-'A'+1)*k; 9 k *= 26;10 }11 return res;12 }13 }