給定正整數 n,返回 Excel 欄標題。規則:1→A, 2→B, ..., 26→Z, 27→AA, 28→AB... 本質是「無 0 的 26 進制」。
普通進制有 0,但這裡 1~26 對應 A~Z。轉換時先 n-- 將 1~26 映射為 0~25,再取模、除以 26。字符構建從低位到高位,故需反轉或前插。
string convertToTitle(int n) {
string res;
while (n--) {
res = char('A' + n % 26) + res;
n /= 26;
}
return res;
}
while (n--) 同時完成「遞減映射」與「循環條件判斷」n % 26 得到當前位 (0~25),n /= 26 進位res = ch + res 避免最後反轉這道題看似簡單,實則考察對「無零進制」的理解。掌握 n-- 技巧後,代碼可壓縮至 4 行以內。