zoukankan      html  css  js  c++  java
  • leetcode 166 Excel表列名称

    给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。

    例如:

    A -> 1
    B -> 2
    C -> 3
    ...
    Z -> 26
    AA -> 27
    AB -> 28 
    ...
    

    示例 1:

    输入:columnNumber = 1
    输出:"A"
    

    示例 2:

    输入:columnNumber = 28
    输出:"AB"
    

    示例 3:

    输入:columnNumber = 701
    输出:"ZY"
    

    示例 4:

    输入:columnNumber = 2147483647
    输出:"FXSHRXW"
    
    package com.example.lettcode.math;
    
    /**
     * @Class ConvertToTitle
     * @Description 166 Excel表列名称
     * @Author
     * @Date 2021/6/29
     **/
    public class ConvertToTitle {
        public static String convertToTitle(int columnNumber) {
            if (columnNumber <= 0 || columnNumber > Integer.MAX_VALUE) return "";
    
            StringBuilder titleStr = new StringBuilder("");
            while (columnNumber != 0) {
                int tmp = columnNumber % 26;
                if (tmp == 0) {
                    // 减1操作是为了把进制转换的0-25变成1-26
                    columnNumber--;
                    tmp = 26;
                }
                titleStr.append((char) ('A' + tmp - 1));
                columnNumber /= 26;
            }
            return titleStr.reverse().toString();
        }
    }
    
    // 测试用例
    public static void main(String[] args) {
        int columnNumber = 1;
        String titleStr = ConvertToTitle.convertToTitle(columnNumber);
        System.out.println("ConvertToTitle demo01 result : " + titleStr);
    
        columnNumber = 26;
        titleStr = ConvertToTitle.convertToTitle(columnNumber);
        System.out.println("ConvertToTitle demo02 result : " + titleStr);
    
        columnNumber = 52;
        titleStr = ConvertToTitle.convertToTitle(columnNumber);
        System.out.println("ConvertToTitle demo03 result : " + titleStr);
    
        columnNumber = 28;
        titleStr = ConvertToTitle.convertToTitle(columnNumber);
        System.out.println("ConvertToTitle demo04 result : " + titleStr);
    
        columnNumber = 701;
        titleStr = ConvertToTitle.convertToTitle(columnNumber);
        System.out.println("ConvertToTitle demo05 result : " + titleStr);
    }
    
  • 相关阅读:
    安全测试基础知识
    Python思维导图(一)—— 基础
    Java 高级点的东西
    安全测试通用用例
    测试基础篇(一)—— 面试终极常见
    测试基础篇(二)—— 面试挺常见
    差分约束基本讲解
    0x42 数据结构进阶树状数组
    Codeforce Problem 711A Bus to Udayland (正则表达式)
    POJ 1456 Supermarket【贪心 + 并查集】
  • 原文地址:https://www.cnblogs.com/fyusac/p/14950015.html
Copyright © 2011-2022 走看看