题目:
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"
解释:
类似题目:171. Excel Sheet Column Number(python+cpp)其实就是十进制转26进制,注意在每次循环的时候n要-1,因为在转换成26进制的时候乘法之前+1了。
python代码:
class Solution(object):
def convertToTitle(self, n):
"""
:type n: int
:rtype: str
"""
result=""
while n>0:
n=n-1
tmp=n%26;
n/=26;
result=chr(ord('A')+tmp)+result
return result
c++代码:
class Solution {
public:
string convertToTitle(int n) {
string result="";
while(n)
{
n-=1;
result=char(n%26+'A')+result;
n/=26;
}
return result;
}
};
总结:
这里需要注意的就是每次循环的时候要额外-1了,就像它的镜像题目,每次循环的时候要额外+1。
by the way ,python直接写竟然比用divmod()
要快。