给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。

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

示例

输入:columnNumber = 1  输出:"A"

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

输入:columnNumber = 2147483647  输出:"FXSHRXW"

解析

1)本题是一个26进制的问题,可以先类比十进制分析;

2)需要注意的是,A-Z 给定的对应数值是1-26,而26进制范围是0-25,所以要注意减一。

代码示例

class Solution:
    def convertToTitle(self, columnNumber: int) -> str:
        res = ''
        while columnNumber > 0:
            columnNumber -= 1
            columnNumber, m = divmod(columnNumber, 26)
            res = chr(m + 65) + res
        return res

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

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