LeetCode 168. Excel表列名称 Excel Sheet Column Title

【题目描述】
给定一个正整数,返回它在 Excel 表中相对应的列名称。
例如:

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

【示例1】

输入: 1
输出: "A"

【示例2】

输入: 28
输出: "AB"

【示例3】

输入: 701
输出: "ZY"

【思路】
1、其实就是求 10进制转26进制
2、注意:26进制没有26这个数字,就像2进制只有0 1没有2一个道理
3、时间复杂度O(log26n) 以26为底n的对数
4、空间复杂度O(1)

代码实现:

func convertToTitle(_ n: Int) -> String {
    if n == 0 { return "" }
    let arr = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]
    var res = String()
    var tmpN = n
    while tmpN > 0 {
        tmpN-=1//
        res = arr[tmpN%26] + res
        tmpN/=26
    }
    return res
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容