168. Excel Sheet Column Title
Difficulty: Easy
Given a positive integer, return its corresponding column title as appear in an Excel sheet.
For example:
1 2 3 4 5 6 7 8
|
1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> AB ...
|
Example 1:
Example 2:
Example 3:
1 2
|
Input: 701 Output: "ZY"
|
解法
这道题乍一看像是求数的26进制表示,但是还是和26进制表示有一点区别,因为这道题不允许出现数字0。所以判断根据余数是否为0处理不同情况很重要!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
char * (int n){ char *s = (char *)malloc(sizeof(char)*1024); int i = 0, r; while(n){ r = n%26; if(r != 0){ s[i++] = inttochar(r); n = n / 26; } else{ s[i++] = inttochar(26); n = n / 26 - 1; } } for(int j = 0; j < i - j - 1;j++){ s[j] ^= s[i - j - 1]; s[i - j - 1] ^= s[j]; s[j] ^= s[i - j - 1]; } s[i] = '
|
近期评论