168 Excel表列名称
168. Excel表列名称
思路:本题简单,有趣的是原本的n进制一般是0~(n-1),而本题却是 1~n,所以需要在每次处理时对数-1来化成 0 ~(n-1);
给你一个整数 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
class Solution {
public:
string convertToTitle(int columnNumber) {
string ans;
//本质上还是转26位进制表示,但是一般是0-25的26位进制,本题是1-26,只需要在每次处理时-1即可
while(columnNumber--){
ans += columnNumber % 26 + 'A';
columnNumber /= 26;
}
reverse(begin(ans), end(ans));
return ans;
}
};
本文来自博客园,作者:{BailanZ},转载请注明原文链接:https://www.cnblogs.com/BailanZ/p/16075405.html