码迷,mamicode.com
首页 > 其他好文 > 详细

【Leetcode】Excel Sheet Column Title

时间:2016-06-12 02:41:30      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:

题目链接:点击打开链接

题目:

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 

思路:

类似十进制转化为二十六进制,要注意如果n可以被26除尽,最后一位没有0表示最小只有A,这里用Z表示。

所以要考虑两种情况,如果可以被26除尽,最后一位固定为Z,(n-26)/26考虑前面位数的转化;如果不能被除尽,直接考虑所有位数的转化。

算法:

[java] view plain copy
 技术分享技术分享
  1. public String convert(int n) {//将数字转化为字母  
  2.     String result = "";  
  3.     while (n % 26 != 0) {  
  4.         result = (char) (n % 26 + 64) + result;  
  5.         n = n / 26;  
  6.     }  
  7.     if (n / 26 != 0) {  
  8.         result = (char) (n + 64) + result;  
  9.     }  
  10.     return result;  
  11. }  
  12.   
  13. public String convertToTitle(int n) {  
  14.     String result = "";  
  15.     if (n <= 26) {  
  16.         return String.valueOf((char) (n + 64));  
  17.     }  
  18.     if (n % 26 == 0) {//如果可以被26除的尽的时候最后一位为Z,(n-26)/26因为最后一位固定为Z,考虑前面的位的转化  
  19.         result = convert((n-26)/26) + ‘Z‘;  
  20.         return result;  
  21.     } else {  
  22.         result = convert(n);  
  23.     }  
  24.     return result;  
  25. }  

【Leetcode】Excel Sheet Column Title

标签:

原文地址:http://blog.csdn.net/yeqiuzs/article/details/51615480

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!