面试题-记录
package com.eric;
/**
* 给定一个正整数,返回它在 Excel 表中相对应的列名称。
* 例如,
* 1 -> A
* 2 -> B
* 3 -> C
* ...
* 26 -> Z
* 27 -> AA
* 28 -> AB
* ...
* 示例 1:
* 输入: 1
* 输出: "A"
* 示例 2:
* 输入: 28
* 输出: "AB"
* 示例 3:
* 输入: 701
* 输出: "ZY"
*/
public class Test01 {
public static void main(String[] args) {
System.out.println(cal(28));
}
private static String cal(int m) {
StringBuilder builder = new StringBuilder();
if (m % 26 == 0) {
m /= 26;
while (m != 0) {
builder.append('Z');
m /= 26;
}
} else {
while (m >= 27) {
int i = m % 26;
builder.append((char) ((i - 1) + 'A'));
m /= 26;
}
builder.append((char) ((m - 1) + 'A'));
}
return builder.reverse().toString();
}
}
We only live once, and time just goes by.

浙公网安备 33010602011771号