美文网首页算法每日一刷
LeetCode-168. Excel表列名称(Swift)

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

作者: entre_los_dos | 来源:发表于2019-07-13 23:21 被阅读0次

    来源:力扣(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

    相关文章

      网友评论

        本文标题:LeetCode-168. Excel表列名称(Swift)

        本文链接:https://www.haomeiwen.com/subject/ubdvkctx.html