首页 > 其他 > 详细

leetcode第168题-Excel Sheet Column Title

时间:2015-03-31 09:07:52      阅读:272      评论:0      收藏:0      [点我收藏+]
本题目与前面的把序列字母转换为数字的题目正好相反,是把数字转化为对应的序列字母。首先是步骤:根据逐步求商先确定字母有多少个,再动态申请空间避免内存浪费*(s+size-i)就对应于s[size-i],从后往前逐步的给每个字母赋值即可。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>

char *convertToTitle(int n) {
    char *s;
    int fac=26,size=0,num=n,i=1;
    while(num>0) {
        num=(num - 1) / 26;
        size++;
    }
    s=(char*)malloc(size*sizeof(char));
    while(n>0){
        n--;
        *(s+size-i)=(char)(n%fac+'A')+*s;
        n/=fac;
        i++;
    }
    return s;
}
int main()
{
	int x;
	while(scanf("%d",&x)!=EOF)
	{
		printf("%s\n",convertToTitle(x));
	}
	return 0;
}

leetcode第168题-Excel Sheet Column Title

原文:http://blog.csdn.net/zyh920521/article/details/44758725

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!