leetcode 精选top面试题 - 171. Excel表列序号
171. Excel表列序号
给定一个Excel表格中的列名称,返回其相应的列序号。
例如
A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ...
示例 1:
输入: "A" 输出: 1
示例 2:
输入: "AB" 输出: 28
示例 3:
输入: "ZY" 输出: 701
思路:
26进制转换成10进制
1 class Solution { 2 public int titleToNumber(String s) { 3 // 26进制转换成10进制 4 int res = 0; 5 for(int i = 0; i < s.length(); i++){ 6 res = res * 26 + (s.charAt(i) - 'A' + 1); 7 } 8 return res; 9 } 10 }
leetcode 执行用时:1 ms, 在所有 Java 提交中击败了100.00%的用户
内存消耗:38.5 MB, 在所有 Java 提交中击败了18.64%的用户
复杂度分析:
时间复杂度:遍历了字符串的所有字符,所以时间复杂度为O(n)。
空间复杂度:O(1)。