LeetCode-Excel Sheet Column Title
Excel Sheet Column Title
##题目
####Excel Sheet Column Title
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..
##解题思路
该题每次对数字进行26取模,就能能到其尾数是哪一个字母,然后得到的余数如果大于26,则继续循环处理,否则就在结果的前端插入字母下标位置为余数的字母。
##算法代码
代码采用JAVA实现:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25public class Solution {
public String convertToTitle(int n) {
if(n<=0)
return "";
//定义个hashmap存放26个字母及其对应的数字 ,A-0,B-1,....,Z-25
HashMap<Integer,Character> map=new HashMap<Integer,Character>();
char ch='A';
map.put(0,ch);
for(int i=1;i<26;i++)
{
ch+=1;
map.put(i,ch);
}
StringBuilder res=new StringBuilder();
while(n>26)
{
//每次取模进行处理,并将结果插入到StringBuilder的前端。
int shang=(n-1)%26;
res.insert(0,map.get(shang));
n=(n-1)/26;
}
res.insert(0,map.get(n-1));
return res.toString();
}
}