原题
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
代码实现
public string ConvertToTitle(int n)
{
//A~Z:26
//AA~ZZ:26*26
//...
if (n == 1) return "A";
char[] chdict = {'A','B','C','D','E','F','G','H','I','J','K',
'L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
StringBuilder sb = new StringBuilder();
while (n > 0)
{
n--; //beacuse our chdict's index begins Zero.
sb.Append(chdict[n % 26]);
n = n / 26;
}
IEnumerable<char> rtnchars = sb.ToString().Reverse();
sb.Clear();
foreach (var ch in rtnchars) sb.Append(ch);
return sb.ToString();
}
leetcode-solution库
leetcode算法题目解决方案每天更新在github库中,欢迎感兴趣的朋友加入进来,也欢迎star,或pull request。https://github.com/jackzhenguo/leetcode-csharp