我正在李特代码上做问题#171“Excel工作表列号”。我能想到的唯一方法就是递归地做。
这是我在Python中的尝试:
class Solution:
def titleToNumber(self, s) -> int:
myDict = {
'A': 1,
'B': 2,
'C': 3,
'D': 4,
'E': 5,
'F': 6,
'G': 7,
'H': 8,
'I': 9,
'J': 10,
'K': 11,
'L': 12,
'M': 13,
'N': 14,
'O': 15,
'P': 16,
'Q': 17,
'R': 18,
'S': 19,
'T': 20,
'U': 21,
'V': 22,
'W': 23,
'X': 24,
'Y': 25,
'Z': 26,
}
if len(s) == 1:
return myDict[s]
else:
return myDict[s[0:1]] * 26 + self.titleToNumber(s[1:])
我遇到的问题是,在第二次递归调用函数本身之后,如果没有第一个字母,我就无法获得str。
慕的地6264312
相关分类