LeetCode做题笔记第168题:Excel表列名称
Posted 李公子lm
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode做题笔记第168题:Excel表列名称相关的知识,希望对你有一定的参考价值。
题目描述
给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。
示例 1:
输入:columnNumber = 1
输出:“A”
示例 2:
输入:columnNumber = 28
输出:“AB”
示例 3:
输入:columnNumber = 2147483647
输出:“FXSHRXW”
解题思路
通过分析可知,Excel中的列名称,是符合26进制的,举例,28转成26进制为:12。
因为 1乘26的1次方+2乘26的0次方=28
所以接下来思路就简单了,先把对应的数字转成26进制,然后匹配对应的字母即可。1:A,2:B …26:Z
tips:在ASCII码中,大写字母A-Z对应的十进制数为65-90.
完整代码
static void Main(string[] args)
{
var result = ConvertToTitle(28);
Console.WriteLine(result);
Console.ReadKey();
}
public static string ConvertToTitle(int columnNumber)
{
//把数字转换成26进制,然后匹配对应的字母即可。
//65-90--->A-Z
string s = string.Empty;
while (columnNumber > 0)
{
int m = columnNumber % 26;
if (m == 0)
{
m = 26;
}
s = (char)(m + 64) + s;
columnNumber = (columnNumber - m) / 26;
}
return s;
}
Study hard and make progress every day.
以上是关于LeetCode做题笔记第168题:Excel表列名称的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode第168题—Excel表列名称—Python实现
LeetCode第168题—Excel表列名称—Python实现
LeetCode第168题—Excel表列名称—Python实现
LeetCode 815. 公交路线 / 909. 蛇梯棋(还是bfs)/ 168. Excel表列名称 / 171. Excel表列序号