【Swift】LeedCode Excel表列名称
由于各大平台的算法题的解法很少有Swift的版本,小编这边将会出个专辑为手撕LeetCode算法题。新手撕算法。请包涵!!!
给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。
例如:
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
...
示例 1:
输入:columnNumber = 1
输出:"A"
示例 2:
输入:columnNumber = 28
输出:"AB"
示例 3:
输入:columnNumber = 701
输出:"ZY"
示例 4:
输入:columnNumber = 2147483647
输出:"FXSHRXW"
Swift代码如下:
class Solution {
func convertToTitle(_ columnNumber: Int) -> String {
var num = columnNumber
var str = ""
while(num > 26){
if num % 26 != 0{
str = String("\(Character(UnicodeScalar(num % 26 + 64)!))")+str
num = (num - (num % 26 ) ) / 26
}else{
str = String("\(Character(UnicodeScalar(26 + 64)!))")+str
num = (num - 26 ) / 26
}
}
str = String("\(Character(UnicodeScalar(num + 64)!))")+str
return str
}
}