//给定一个正整数,返回它在 Excel 表中相对应的列名称。
//
// 例如,
//
// 1 -> A
// 2 -> B
// 3 -> C
// ...
// 26 -> Z
// 27 -> AA
// 28 -> AB
// ...
//
//
// 示例 1:
//
// 输入: 1
//输出: "A"
//
//
// 示例 2:
//
// 输入: 28
//输出: "AB"
//
//
// 示例 3:
//
// 输入: 701
//输出: "ZY"
//
// Related Topics 数学
// 👍 289 👎 0
package leetcode.editor.cn;
//Java:Excel表列名称
public class P168ExcelSheetColumnTitle {
public static void main(String[] args) {
Solution solution = new P168ExcelSheetColumnTitle().new Solution();
// TO TEST
String s = solution.convertToTitle(3);
System.out.println(s);
}
//leetcode submit region begin(Prohibit modification and deletion)
class Solution {
public String convertToTitle(int n) {
StringBuilder strBuilder = new StringBuilder();
while (n != 0) {
strBuilder.append((char) ('A' + (n - 1) % 26));
n = (n - 1) / 26;
}
return strBuilder.reverse().toString();
}
}
//leetcode submit region end(Prohibit modification and deletion)
}
实质上还是进制转换,只是多了数字到字母的映射