本文主要是介绍LeetCode刷题笔记第168题:Excel表列名称,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
LeetCode刷题笔记第168题:Excel表列名称
题目:
给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。
例如:
A -> 1
B -> 2
C -> 3
…
Z -> 26
AA -> 27
AB -> 28
…
想法:
类似十进制转二进制,这里是1-26,要使用26进制则需要将1-26改为0-25。具体做法将输入的整数除以26得到的余数为个位数上的数值,再次除以26得到十位数上的数值依次类推,最终获得每个位数上的数值,再将这些数值对应的字符连接即为最终结果字符串
class Solution:def convertToTitle(self, columnNumber: int) -> str:result = []while columnNumber>0:columnNumber -= 1 # 此处为了将数值改为26进制数result.append(chr(columnNumber % 26 + ord("A"))) # 获得当前位置上的字符并添加入字符串列表columnNumber //= 26 # 获得除数进行下一轮计算return "".join(result[::-1]) # 字符串列表中存储的是倒叙的字符
上述方法的
时间复杂度:O(log26 columnNumber)
空间复杂度:O(1)
这篇关于LeetCode刷题笔记第168题:Excel表列名称的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!