声明:
今天是第39道题。给定一个Excel表格中的列名称,返回其相应的列序号。以下所有代码经过楼主验证都能在LeetCode上执行成功,代码也是借鉴别人的,在文末会附上参考的博客链接,如果侵犯了博主的相关权益,请联系我删除
(手动比心ღ( ´・ᴗ・` ))
正文
题目:给定一个Excel表格中的列名称,返回其相应的列序号。
例如,
A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ...
示例 1:
输入: "A" 输出: 1示例 2:
输入: "AB" 输出: 28示例 3:
输入: "ZY" 输出: 701
解法1。相当于1个26进制转10进制的问题。对输入字符串从最右边开始逐位取字符,每次取1个,对该个字符转为10进制,提交中击败了98.27% 的用户
class Solution(object):
def titleToNumber(self, s):
"""
:type s: str
:rtype: int
"""
i = 1
order_num = 0
while i != len(s)+1:
order_num += (ord(s[-i])-64)*(26**(i-1)) # 从右边逐位取字符转为10进制
i += 1
return order_num
结尾
解法1:原创