🌕 168. Excel表列名称
2022年10月10日
- algorithm
🌕 168. Excel表列名称
难度: 🌕
问题描述
解法
class Solution {
public String convertToTitle(int columnNumber) {
// 思路:
// 依次除以 26,取余数拼接
int cur = columnNumber;
if(cur == 26) {
return "Z";
}
int left = 0;
int next = 0;
StringBuilder sb = new StringBuilder();
while(cur > 0) {
left = cur % 26; // ∈[0, 25]
char c;
if(left == 0) {
c = 'Z';
cur -= 26;
} else {
c = (char)('A' + left - 1);
}
next = cur / 26;
// System.out.println("除数: " + next + " 余数: " + left + " 对应字母: " + c);
sb.append(c);
cur = next;
}
return sb.reverse().toString();
}
}