您的位置:首页 > 其它

leetcode Excel Sheet Column Title

2015-06-10 10:29 155 查看
这个题我感觉自己写的程序很不好

public class Solution {
public  StringBuilder result=new StringBuilder();

public  String convertToTitle(int n) {
while(n!=0)
{
result.append(convertNumber(n%26));
n/=26;
}
for(int i=0;i<result.length()-1;i++)
{
if(result.charAt(i)=='0')
{
minesOne(i);
}
}
if(result.charAt(result.length()-1)=='0')
{
result.deleteCharAt(result.length()-1);
}

return result.reverse().toString();
}

public  char convertNumber(int n)
{
if(n==0)
{
return '0';
}
else
{
return (char)(n-1+'A');
}

}

public void minesOne(int index)
{
result.setCharAt(index, 'Z');
if(result.charAt(index+1)=='A')
{
result.setCharAt(index+1, '0');

}
else
{
result.setCharAt(index+1, (char)(result.charAt(index+1)-1));
}
}
}


大神的解答

class Solution {
public:
string convertToTitle(int n) {
if(n < 1)
return "";
else
{
string result = "";
while(n)
{//get every letter in n from right to left
n --;
char c = n%26 + 'A';
result = c + result;
n /= 26;
}
return result;
}
}
};


我真的弄不懂为啥他每次减一就可以。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: