leetcode------Excel Sheet Column Title
标题: | Excel Sheet Column Title |
通过率: | 17.3% |
难度: | 简单 |
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
Credits:
Special thanks to @ifanchu for adding this problem and creating all test cases.
前边做过一个Excel Title转Column,前边就是乘26增加不用去处理其他的东西。
但是这个题比较麻烦。不是难在思路,二十难在细节的处理中,每次求余数加到字符串中,但是有一个问题就是 如果n=27,那么除以26是1,若果n=26除以26还是1,但是实际中是Z与AA的差距,直接看代码,这个题代码我感觉写的还是有问题,应该是直接-1求余,那么如果是26,减一后刚好是25,再加上‘A’就是Z如果是1,减一后是0,加上A还是A,下面直接看代码:
1 public class Solution { 2 public String convertToTitle(int n) { 3 String result="",str=""; 4 char tmp; 5 if(n<1)return null; 6 while(n>0){ 7 int x=n%26; 8 if(x==0){ 9 result+="Z"; 10 } 11 else{ 12 tmp=(char)(x-1+'A'); 13 result=result+String.valueOf(tmp); 14 } 15 n--; 16 n/=26; 17 } 18 for(int i=result.length()-1;i>=0;i--){ 19 str=str+result.charAt(i); 20 } 21 return str; 22 23 } 24 }