Excel Sheet Column Number
Given a column title as appear in an Excel sheet, return its corresponding column number.
For example:
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
第一次用xcode调试代码,降低了leetcode的提交错误率,记录下
这道题需要注意的就是字符串的顺序问题,对于字符串ABC,s[0]=A,从左向右,remember
int titleToNumber(char *s) {
int length;
int answer=0;
length=strlen(s);
for(int i=0;i<length;i++ )
{
answer=26*answer+s[i]-64;
}
return answer;
}
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
和上面的题目是反过来的,但是有点二进制和十进制表示互换的感觉,这题比较难~~
注意char类型开辟数组的方法 malloc()
char *convertToTitle(int n) {
int temp;
int i=0;
int re=n;
int change[100];
while(n)
{
temp=n % 26;
n=(n-1)/26;//注意边界26“Z”的情况
i++;
}
int size=i;
char *result=(char*)malloc((size+1)*sizeof(char));//数组的空间分配
while(re)
{
if(re%26==0)
{
result[i-1]='Z';
}
else{
temp=re % 26;
result[i-1]=temp+64;
}
re=(re-1)/26;
i--;
}
result[size]='\0';//字符串结束,必须的赋值
printf("%s",result);
return result;
}