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
solution
10进制转为26进制
1.
public String convertToTitle(int n) {
Map<Integer, String> numToString = new HashMap<>();
for(int i=0;i<26;i++){
char w = (char) ('A' + i);
numToString.put(i, String.valueOf(w));
}
if(n<=26) return numToString.get(n-1);
StringBuilder sb = new StringBuilder();
while(n>0){
int index = (n-1)%26;
sb.append(numToString.get(index));
n = (n-1)/26;
}
return sb.reverse().toString();
}2.
public String convertToTitle1(int n) {
String result = "";
while(n>0){
result = (char)((n-1)%26 +'A') + result;
n = (n-1)/26;
}
return result;
}

本文介绍了一种将正整数转换为Excel表格中对应的列标题的算法实现。通过两个不同的Java方法展示了如何从十进制数转换到基于26的进制系统,类似于Excel的工作表列标签。
941

被折叠的 条评论
为什么被折叠?



