LeetCode算法题168:Excel表列名称解析

给定一个正整数,返回它在 Excel 表中相对应的列名称。
例如,

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

示例1:

输入: 1
输出: "A"

示例2:

输入: 28
输出: "AB"

示例3:

输入: 701
输出: "ZY"

这个题就是个进制转换题,非常简单,直接把十进制转成26进制就行,只是这里的数从1开始,所以算的时候要减一才能使用整除符号和取余符号。程序很简单,直接看程序:
C++源代码:

class Solution {
public:
    string convertToTitle(int n) {
        string s="";
        while(n)
        {
            s = char('A' + (n-1) % 26) + s;
            n = (n-1) / 26;
        }
        return s;
    }
};

python3源代码:

class Solution:
    def convertToTitle(self, n):
        """
        :type n: int
        :rtype: str
        """
        s = ""
        while n:
            s = chr(ord('A') + (n-1) % 26) + s
            n = (n-1) // 26
        return s

猜你喜欢

转载自blog.csdn.net/x603560617/article/details/83892738