Description
Given a positive integer, return its corresponding column title as appear in an Excel sheet.
Example
1 -> A
2 -> B
3 -> C
...
26 -> Z
27 -> AA
28 -> AB
Solution 1(C++)
class Solution {
public:
string convertToTitle(int n) {
string res;
while(n != 0){
res += (n-1)%26+'A';
n=(n-1)/26;
}
reverse(res.begin(),res.end());
return res;
}
};
Solution 2(C++)
class Solution {
public:
string convertToTitle(int n) {
return n == 0 ? "" : convertToTitle(n / 26) + (char) (--n % 26 + 'A');
}
};
算法分析
类似的题目还可以参考: LeetCode-171. Excel Sheet Column Number
解法一: 这个进制转换有点意思。因为正常的进制转换都有0.但是这个进制转换没有。所以有一点小处理。
解法二: 迭代,确实没想到。类似的迭代可以参考:LeetCode-21. Merge Two Sorted Lists、 LeetCode-326. Power of Three、LeetCode-263. Ugly Number。
程序分析
略。