leetcode------Excel Sheet Column Title

本文介绍了一种将Excel中的列号转换为对应字母标题的算法实现。该算法通过不断除以26并处理特殊情况来完成转换。文章还提供了一个具体的Java代码示例。
标题:Excel Sheet Column Title
通过率:17.3%
难度:简单

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 

Credits:
Special thanks to @ifanchu for adding this problem and creating all test cases.

前边做过一个Excel Title转Column,前边就是乘26增加不用去处理其他的东西。

但是这个题比较麻烦。不是难在思路,二十难在细节的处理中,每次求余数加到字符串中,但是有一个问题就是 如果n=27,那么除以26是1,若果n=26除以26还是1,但是实际中是Z与AA的差距,直接看代码,这个题代码我感觉写的还是有问题,应该是直接-1求余,那么如果是26,减一后刚好是25,再加上‘A’就是Z如果是1,减一后是0,加上A还是A,下面直接看代码:

 1 public class Solution {
 2     public String convertToTitle(int n) {
 3         String result="",str="";
 4         char tmp;
 5         if(n<1)return null;
 6         while(n>0){
 7             int x=n%26;
 8             if(x==0){
 9                 result+="Z";
10             }
11             else{
12                 tmp=(char)(x-1+'A');
13                 result=result+String.valueOf(tmp);
14             }
15             n--;
16             n/=26;
17         }
18         for(int i=result.length()-1;i>=0;i--){
19             str=str+result.charAt(i);
20         }
21         return str;
22         
23     }
24 }

 

转载于:https://www.cnblogs.com/pkuYang/p/4234600.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值