Excel表格中的列是从A开始编号的,A,B,C,...,Z,AA,AB,....,AZ,.....
给出列号(从1开始),返回给定的列名。
这是某互联网公司的面试题,很简单的题但是面试的时候居然写出bug了,经面试官一提醒顿时乱了阵脚,最终也没能改对。特用此文来记住这次惨痛的教训
1 void convert(int col ,char * seq,int n) 2 { 3 if(col<=0 || seq==NULL || n<=0) 4 return; 5 int k=0; 6 while(col>0) 7 { 8 int t=col%26; 9 col/=26; 10 if(t==0) 11 { 12 seq[k++]='Z'; 13 col--; 14 } 15 else 16 seq[k++]='A'+t-1; 17 } 18 19 k--; 20 for(int j=0;j<k;j++,k--) 21 { 22 swap(seq[j],seq[k]); 23 } 24 }