第168. Excel表列名称
Excel表列名称
题目:
给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称
例:
A -> 1
B -> 2
C -> 3
…
Z -> 26
AA -> 27
AB -> 28
输入:columnNumber = 1
输出:“A”
输入:columnNumber = 28
输出:“AB”
解:
class Solution {
public:
string convertToTitle(int columnNumber) {
string ans;
while(columnNumber > 0)
{
columnNumber--;
ans += columnNumber%26 + 'A';
columnNumber /= 26;
}
reverse(begin(ans),end(ans));
return ans;
}
};
释义
1 指向 A
.
.
.
26 指向 z
之后开始第二列AA,AB,AC…
题目开始转换思想——
1、26进制
2、除余计算
上解法为26进制思想
需备注点:
C++ reverse函数的用法:
头文件:#include
reverse函数用于反转在[first,last)范围内的顺序(包括first指向的元素,不包括last指向的元素),reverse函数没有返回值
template <class BidirectionalIterator>
void reverse (BidirectionalIterator first,BidirectionalIterator last);