A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ...
输入:columnNumber = 1
输出:"A"
示例 2:输入:columnNumber = 28
输出:"AB"
示例 3:输入:columnNumber = 701
输出:"ZY"
示例 4:输入:columnNumber = 2147483647
输出:"FXSHRXW"
这道题解题思路是进位制转换,转换成26进位制。
用了一StringBuilder字符拼接工具类,我们刚开始要c--这一步是保证我们当我们传入参数为“1”时,我们输出“A”。
之后用StringBuilder类中的append方法实现字符串的拼接,这时候大家一定不要忘记把整形转成 char类型。最后循环结束,使用我们的翻转字符串reverse方法。
class Solution {
public String convertToTitle(int c) {
StringBuilder sb = new StringBuilder();
while(c>0){
c--;
sb.append((char)(c%26 +'A'));
c=c/26;
}
sb.reverse();
return sb.toString();
}
}