题目:
Given an integer columnNumber, return its corresponding column title as it appears in an Excel sheet.
example:
A -> 1
B -> 2
C -> 3
Z -> 26
AA -> 27
AB -> 28
给定一个数,回传它在excel表示行数的规则中是如何表示
有点像26进位的fu,但由于没有0的存在,所以处理方式有点不太一样
class Solution: def convertToTitle(self, columnNumber: int) -> str: ans="" while columnNumber>0: temp=columnNumber%26 if temp==0: temp=26 ans=chr(64+temp)+ans columnNumber=(columnNumber-temp)//26 return ans
设立一个while迴圈,不断%26,//26
不过要特别注意当%出来的值为0时其实是代表26(Z)而不是0
所以需要将其转成26
接着透过ASCII编码的规则将元素放入欲回传字串
最后要//26前需减去temp,防範当上一位数为Z时,这位数会多算1(因为Z其实会拿走一个26)
最后执行时间19ms(faster than 99.92%)
那我们下题见