题目
leetCode 第 168 题,Excel表列名称
关联类型:数学
给定一个正整数,返回它在 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 columnNumber) {
}
}
以上给出方法输入参数,完成作答。
题目分析
- 一道数学题,将数取余26得到后面的字母
- 然后将原数整除后得到的数继续取余
- 直到原数小于0 则结束
解答分析
本文只分析本人做题思路,仅供参考,了解一种解题思想,其他各种做题思路请上网查阅。
解答成功:
执行耗时:0 ms,击败了100.00% 的Java用户
内存消耗:35.6 MB,击败了54.24% 的Java用户
class Solution {
public String convertToTitle(int columnNumber) {
if (columnNumber <= 0) {
return "";
}
StringBuilder sb = new StringBuilder();
while (columnNumber > 0) {
columnNumber--;
sb.append((char) (columnNumber % 26 + 'A'));
columnNumber =columnNumber / 26;
}
return sb.reverse().toString();
}
}