leetcode 168.Excel Sheet Column Title

题目:

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@”.

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