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

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/

posted @ 2017-12-14 09:08  Jimmy_Cheng  阅读(423)  评论(0编辑  收藏  举报