171. Excel表列序号(Python)

玖月晴IP属地: 浙江
字数 182

题目

难度:★☆☆☆☆
类型:数学

给定一个Excel表格中的列名称,返回其相应的列序号。

例如,

A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28 
...

示例

示例 1:

输入: "A"
输出: 1

示例 2:

输入: "AB"
输出: 28

示例 3:

输入: "ZY"
输出: 701

解答

该题与【题目168. Excel表列名称】互为对偶问题,类似十进制与二十六进制的相互转换,不过这里计算更加简便,同样使用ascii码进行数字和字母的换算,字母“A”和“Z”对应的ascii码分别为65和90。

class Solution(object):
    def titleToNumber(self, s):
        """
        :type s: str
        :rtype: int
        """
        res = 0
        while s:
            cur, s = s[0], s[1:]                # 获取当前位并更新字符串
            res = res * 26 + ord(cur) - 64      # 计算到当前位的结果
        return res

如有疑问或建议,欢迎评论区留言~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
0人点赞
玖月晴菜鸟一枚
总资产6共写了28.0W字获得97个赞共129个粉丝

推荐阅读更多精彩内容