您的位置:首页 > 其它

LeetCode-Excel Sheet Column Title

2015-10-20 22:31 459 查看
Problem:

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


Analysis:

要求是用字母表示数字,1-26用A-Z表示,超过26的用A-Z分别代表进位的26个权值,实质上该题是10进制转26进制但是A等价于0

Anwser:

找了一位大牛的代码,从这段代码中可以学到更多的有关进制转换的问题。

该代码巧妙的利用了递归的方法:

public class Solution {
public String convertToTitle(int n) {
return n<=0?"":convertToTitle((n-1)/26)+(char)('A'+(n-1)%26);
}
}


其实上段代码也可以写成一般的形式,而非一行代码,如:

public class Solution {
public String convertToTitle(int n) {
if(n<=0) return "";
else {
int num = (n-1) / 26;
int res = (n-1) % 26;
return convertToTitle(num)+(char)(res+'A');
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: