面试题-记录
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.