题目链接:
题目:
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"
解题思路:
其实题目很简单,就是将一个数变成26进制表示,只不过平时26进制表示为0-25,而这里是1-26,所以在每次取余数之前,要对n 进行减一处理。
我用的是String,但是这种循环加入字符进入字符串的,Java里有一个类:StringBuilder()。
AC代码:(Java)
class Solution {
public String convertToTitle(int n) {
String res = "";
while(n != 0)
{
n--; // 和之前的不同,因为第一位是1,所以要变回我们原本的26进制
// 应该是0-25,而不是1-26,所以每次前要减去1。
char ch = (char)((n%26)+'A');
res = ch+res;
n /= 26;
}
return res;
}
}