Leetcode 168 Excel Sheet Column Title

本文介绍了一种将正整数转换为Excel表格中对应的列标题的算法实现。提供了两种Java实现方式,一种通过字符串拼接,另一种使用StringBuilder进行优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原题

Given a positive integer, return its corresponding column title as appear in an Excel sheet.

For example:

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

Example 1:

Input: 1
Output: "A"

Example 2:

Input: 28
Output: "AB"

Example 3:

Input: 701
Output: "ZY"


中文题意

输入为正整数,得到excel表格中对应列的标题。


java实现

实现一

class Solution {
    public String convertToTitle(int n) {
        String[] ele = {"","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
        
        int res = n;
        int r = n %26;
        String result = "";
        
        
        while( res > 26){
             
            if(r == 0){
                res--;
                result = ele[26] + result;
            }else{
                result = ele[r] + result;
            }
            
            
            res = res / 26;
            r = res %26 ;
        }
        
        
        result = ele[res] +result;
        
        return result;
        
    }
}


实现二

class Solution {
    public String convertToTitle(int n) {
        
        StringBuilder res = new StringBuilder();
        while(n>0){
            res.append((n%26) != 0 ? (char)('A'- 1 + (n%26)) : (char)('Z'));
            n= (n-1)/26;
        }
       
        return res.reverse().toString();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值