給定正整數 n,返回其對應的 Excel 列標題。
1→A, 2→B, ..., 26→Z, 27→AA, 28→AB, ..., 702→ZZ, 703→AAA。
類似 26 進制,但沒有 0(A=1, ..., Z=26)。因此每次取餘數前先 n--,再取模 26,得到 0~25 對應 A~Z。循環直到 n 為 0,字符拼接在字符串前端。
class Solution {
public:
string convertToTitle(int n) {
string res;
while (n > 0) {
--n; // 關鍵:調整為 0-based
res = char('A' + n % 26) + res;
n /= 26;
}
return res;
}
};