Problem:
Given a positive integer, return its corresponding column title as appear in an Excel sheet.
For example:
1 -> A
2 -> B
3 -> C
...
26 -> Z
27 -> AA
28 -> AB
...
Example 1:
Input: 1
Output: "A"
Example 2:
Input: 28
Output: "AB"
Example 3:
Input: 701
Output: "ZY"
思路:
Solution (C++):
string convertToTitle(int n) {
vector<int> bit;
string ans = "";
while (n) {
bit.push_back(n%26);
n /= 26;
}
int len = bit.size();
for (int i = 0; i < len-1; ++i) {
if (bit[i] == 0) {
bit[i] += 26;
--bit[i+1];
}
}
for (int i = len-1; i >= 0; --i) {
if (bit[i] != 0)
ans += ('A' + bit[i] - 1);
}
return ans;
}
性能:
Runtime: 0 ms Memory Usage: 6.3 MB
思路:
Solution (C++):
性能:
Runtime: ms Memory Usage: MB