89. 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 

分析:问题的本质是把十进制转化为26进制。

<span style="font-size:14px;">/**
	 * 题目本质是把十进制转化为26进制。 
	 * 由于下标从1开始而不是从0开始,因此要减一操作。
	 */
	public String convertToTitle(int n) {
		String s = "" ;
		char c;
        while(n!=0){
        	c = (char) ((n-1)%26+'A');//1->A,2->B...27->AA,28->AB,在字符A的基础上加
        	s=c+s;
        	n = (n-1)/26;
        }
        return s;
    }</span>


注意:由于下标从1开始而不是从0开始,因此要减一操作。


与这个问题相反的是Excel Sheet Column Title。

还有与这个问题类似的是:对于n去模m,正常是得到余数为0,1,。。。m-1,而在这种问题里面,得到的对应结果是1,2,3,。。。m,这个时候就要让(n-1)%m+1。之前做的一道leetcode题目Add Digits与这个余数的相似。



你可能感兴趣的:(89. Excel Sheet Column Title)