168. Excel Sheet Column Title

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class Solution {
public String convertToTitle(int columnNumber) {
// 1 -> A
// 26 -> Z

// 28 -> AB
// 28 = 1 * 26 + 2

// 27 -> AA
// 27 = 1 * 26 + 1

// 52 -> AZ
// 52 = 1 * 26 + 26

// range: [1, 26], 注意并非从 0 开始

StringBuilder sb = new StringBuilder();
while (columnNumber >= 1) {
int mod = (columnNumber - 1) % 26; // [0, 25]
sb.append((char)('A' + mod));
columnNumber = (columnNumber - 1) / 26;
}
return sb.reverse().toString();
}
}

References

168. Excel Sheet Column Title