题目链接:https://leetcode.com/problems/excel-sheet-column-title/
168. Excel Sheet Column Title
Easy
687134FavoriteShare
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"
思路:
很明显这是一个进制转换问题,但是我最初做的时候,在26倍数的例子里一直没法AC,
后来我反思了一下,十进制0~9,26进制应该是0~25才符合取模取余操作。
比如,AA 52,因为到A时已经算进一位了,但此时表示的为1,如果把它减一得到0 ,即取余遇见0即是A 。
那么接下来的工作就像计算十进制数的每个位一样简单了。
AC :
class Solution {
public String convertToTitle(int n) {
StringBuilder sb=new StringBuilder();
while(n!=0){
n--;
int temp=n%26;
n=n/26;
sb.append((char)(temp+'A'));
}
return sb.reverse().toString();
}
}