【leetcode】Excel Sheet Column Number

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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值