题目
给定一个正整数,返回它在 Excel 表中相对应的列名称。
例如,
1 -> A
2 -> B
3 -> C
...
26 -> Z
27 -> AA
28 -> AB
...
示例 1:
输入: 1
输出: “A”
示例 2:
输入: 28
输出: “AB”
示例 3:
输入: 701
输出: “ZY”
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/excel-sheet-column-title
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
程序代码
数学题啊,感觉我费了比较大的功夫,就是一直在考虑没有0的对应项怎么办?显然要减1;就是纠结在哪里减1啊!是只有一开始减一次还是每算一位减一次?
class Solution {
public:
string convertToTitle(int n) {
int x = n, w = 0;
char c;
string result = "";
while(x) {
x = x - 1;
w = x % 26;
c = w + 'A';
result = c + result;
x = (x - w) / 26;
}
return result;
}
};
题目不是很难,我写在这里只是给自己留下一个编程心得吧,我只发了一个过了的代码,还有优化的空间,时间可以变短内存占用可以减小。