171. Excel表列序号
本题来自LeetCode:171. Excel表列序号[1]
题目描述
给定一个Excel表格中的列名称,返回其相应的列序号。
例如,
A - 1
B - 2
C - 3
...
Z - 26
AA - 27
AB - 28
...
示例 1:
输入: "A"
输出: 1
示例 2:
输入: "AB"
输出: 28
示例 3:
输入: "ZY"
输出: 701
题目分析
略
题目解答
class Solution {
public int titleToNumber(String s) {
int n = 0;
for(int i = 0; i s.length(); i ++) {
int digit = s.charAt(i) - 'A' + 1;
n = n * 26 + digit;
}
return n;
}
}
复杂度分析:
时间复杂度:
O(n)
空间复杂度:
O(1)
168. Excel表列名称
本题来自LeetCode:168. Excel表列名称[2]
题目描述
给定一个正整数,返回它在 Excel 表中相对应的列名称。
例如,
1 - A
2 - B
3 - C
...
26 - Z
27 - AA
28 - AB
...
示例 1:
输入: 1
输出: "A"
示例 2:
输入: 28
输出: "AB"
示例 3:
输入: 701
输出: "ZY"
题目分析
略
题目解答
class Solution {
public String convertToTitle(int n) {
String s = "";
while(n != 0) {
char c = (char)((n - 1)% 26 + 'A');
s = c + s;
n = (n - 1) / 26;
}
return s;
}
}
复杂度分析:
时间复杂度:
O(log26(n))
空间复杂度:
O(1)
参考资料
Excel表列序号: https://leetcode-cn.com/problems/excel-sheet-column-number
Excel表列名称: https://leetcode-cn.com/problems/excel-sheet-column-title
原文始发于微信公众号(xiaogan的技术博客):