给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回 该列名称对应的列序号 。

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

示例

输入: columnTitle = "AB"  输出: 28

输入: columnTitle = "ZY"  输出: 701

解析

1)前面刚搞定数字转列名,是一个26进制再减一的问题;

2)列名转数字,就是反过来,26进制加一即可。

代码示例

class Solution:
    def titleToNumber(self, columnTitle: str) -> int:
        ans = 0
        for i in columnTitle:
            num = ord(i) - ord('A') + 1
            ans = ans * 26 + num
        return ans

执行用时:40 ms, 在所有 Python3 提交中击败了 56.35% 的用户.

本文为 陈华 原创,欢迎转载,但请注明出处:http://www.ichenhua.cn/read/400