Java代码:
26进制,但是每个进制是从1开始的,不是从0开始;因此要计算要构建从0开始的求余!
class Solution {
public String convertToTitle(int cn) {
StringBuilder sb = new StringBuilder();
while (cn > 0) { // 26进制,但是每个进制是从1开始的,不是从0开始
cn--;
sb.append((char)(cn % 26 + 'A'));
cn /= 26;
}
return sb.reverse().toString();
}
}
Java代码:
class Solution {
public int titleToNumber(String ct) {
int sum = 0;
for (int i = 0; i < ct.length(); ++i) {
int n = ct.charAt(i) - 'A';
sum = sum * 26 + n + 1;
}
return sum;
}
}