力扣题目链接:https://leetcode.cn/problems/excel-sheet-column-title/
给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。
例如:
A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ...
示例 1:
输入:columnNumber = 1 输出:"A"
示例 2:
输入:columnNumber = 28 输出:"AB"
示例 3:
输入:columnNumber = 701 输出:"ZY"
示例 4:
输入:columnNumber = 2147483647 输出:"FXSHRXW"
提示:
1 <= columnNumber <= 231 - 1详细的介绍可以参考我之前的一篇博客:https://letmefly.blog.csdn.net/article/details/124512136
有点类似十进制转二十六进制,但是Excel中列数是从1开始的而不是从0开始的。
也就是说0没有对应的字符。
如果是简单的进制转换,0应该对应字符A,但是这种情况下1对应字符A,因此在转换字符的每一位之前,把数字减去1即可。
class Solution {
public:
string convertToTitle(int columnNumber) {
string ans;
while (--columnNumber >= 0) {
ans = (char)(columnNumber % 26 + 'A') + ans;
columnNumber /= 26;
}
return ans;
}
};
同步发文于CSDN,原创不易,转载请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/126156416