168. Excel Sheet Column Title (Easy)
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
Solution 1: Math O(n); O(1)
这题本质是进制转化,但是不是普通的二十七或者二十六进制转化,因为27表示为AA,而不是A“ ”。
那么要考虑先算高位,还是先算低位,记住先算低位!为了用append,记录结果的逆序,然后reverse。
public String convertToTitle(int n) {
StringBuilder res = new StringBuilder();
while (n > 0) {
n--; //important!
res.append((char) ('A' + n % 26 ));
// res.append((char) ('A' - 1 + n % 26 )); //这么写不对,比如26,会变成A@
n /= 26;
}
return res.reverse().toString();
}