算法每日一刷

LeetCode-168. Excel表列名称(Swift)

2019-07-13  本文已影响0人  entre_los_dos

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/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"

26个一组,有26进制的感觉 。

方法

func convertToTitle(_ n: Int) -> String {
        
        //算出A的ASCII数值
        var ACode:Int = Int()
        for code in "A".unicodeScalars {
            ACode = Int(code.value)
        }
        var resultStr:String = String()
        
        var firstIndex = n
        

        while firstIndex > 0 {
            firstIndex = firstIndex-1
            let mod = firstIndex % 26
        
            let firstStr = Character(UnicodeScalar(ACode + mod)!)
                
            resultStr.append(firstStr)
            firstIndex = firstIndex / 26

        }
        return String(resultStr.reversed())
        

image.png
上一篇下一篇

猜你喜欢

热点阅读