[LeetCode] 168. Excel Sheet Column Title 求Excel表列名称
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
Credits:
Special thanks to @ifanchu for adding this problem and creating all test cases.
给一个正整数,返回Excel表中对应的列标题。
解法:由例子可以看出是按26个字母循环,相当于10进制和26进制转换,所以可以对26取整取余。每有一个26就加一个A,剩下的余数对应相应的字母。
Python:
class Solution(object): def convertToTitle(self, n): result, dvd = "", n while dvd: result += chr((dvd - 1) % 26 + ord('A')) dvd = (dvd - 1) / 26 return result[::-1]
C++:
class Solution { public: string convertToTitle(int n) { string res; while (n) { res += --n % 26 + 'A'; n /= 26; } return string(res.rbegin(), res.rend()); } };
类似题目:
[LeetCode] 171. Excel Sheet Column Number 求Excel表列序号