LeetCode 168. Excel Sheet Column Title (Excel 表格列名称)

Excel列名转换
本文介绍了一个将正整数转换为Excel列名的方法,通过26进制的方式进行转换,并提供了详细的Java实现代码。

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 

 


题目标签:Math

  题目给了我们一个 int n, 让我们返回对应的 excel 表格 纵列的 名称。

  如果是10进制 的数字,我们是用 % 10 来拿到最右边的digit, 用 / 10 来去除最右边的digit,继续下一轮;

  这里也是一样的原理,换成 26进制, 1 - 26 对应 A - Z,唯一要注意的是,这里的A 是从 1 开始的,实质上是应该从 0 开始,所以我们要在每一轮 -1 来取得平衡。

 

 

Java Solution:

Runtime beats 11.27% 

完成日期:06/12/2017

关键词:26进制

关键点:A 应该从0 开始

 1 class Solution 
 2 {
 3     public String convertToTitle(int n) 
 4     {
 5         String res = "";
 6         
 7         while(n > 0)
 8         {
 9             n--; // for each round, need to -1
10 
11             int rml = n % 26; // get right most letter 1 ~ 26 = A ~ Z
12             res = (char)('A' + rml) + res;
13             
14             n = n / 26; // means get rid of right most letter;
15         }
16         
17         return res;
18     }
19 }

参考资料:N/A

LeetCode 题目列表 - LeetCode Questions List

题目来源:https://leetcode.com/

转载于:https://www.cnblogs.com/jimmycheng/p/8036010.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值