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

leetcode 168.Excel Sheet Column Title

时间:2015-03-02 18:35:17      阅读:125      评论: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 

 

解决方案:

public class Solution {
    public String convertToTitle(int n) {
        //char a[26]={‘A‘,‘B}
        String s = "";
        String res = "";
        while(n > 0){
            n--;
            //s = n%26 + s;
            res = (char)(n%26+‘A‘) + res;
            n = n/26;
        }
        
        return res;
    }
}

 

总结:这个题目最初做的时候就立马反应到是26进制与10进制的转换,但是不单单如此,最后还有个小细节,那就是这里的n--; 这里用n--的主要原因是后面要"+‘A‘"这一步,要是不去n--,而是在“+‘A‘”这里用+64,那么结果是不对的,因为会有%26后得0的情况。这样+64得到的是“@”而不是“A”,所以要用n--来解决这个问题。这个地方对应的例子是输入26得到的结果应该是"Z",而用+64得到的是“A@”.

leetcode 168.Excel Sheet Column Title

标签:

原文地址:http://www.cnblogs.com/Pillar/p/4309109.html

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