Question
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
本题难度Easy。
26进制
【复杂度】
时间 O(N) 空间 O(1)
【思路】
难点在于不是从0开始计数,而是从1开始,因此需要对数字减1,才能对应上从0开始的十进制数。
【代码】
public class Solution {
public String convertToTitle(int n) {
//require
StringBuilder sb=new StringBuilder();
//invariant
while(n!=0){
sb.insert(0,(char)('A'+(n-1)%26));
n=(n-1)/26;
}
//ensure
return sb.toString();
}
}
参考
[Leetcode] Excel Sheet Column Title Number Conversion Excel列值转换