Excel Sheet Column Title(1->A, 2->B, 28->AB )

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 

SOLUTIONS:

試了好多次才成功,循環中寫成

ret+=n%26+'A'-1;
n/=26;

對於26和52這樣的會出錯,26會成@A。

有人將循環中寫成

n--;
char c=n%26+'A';
ret=ret+c;
n/=26;



可以順利通過。

一下是自己寫的方法。

class Solution {
public:
    string convertToTitle(int n) {
        string ret;
		if(n <=0 ){
			return ret;
		}
		while(n>0){
			if(n%26==0){			
				ret='Z'+ret;
				n=n/26-1;
			} else {
				char c=n%26+'A'-1;
				ret=c+ret;
				n/=26;
			}						
		}
		return ret;
    }
};





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章