[Swift]LeetCode504. 七進制數 | Base 7
阿新 • • 發佈:2018-10-18
範圍 string int sep true class var range swift
Given an integer, return its base 7 string representation.
Example 1:
Input: 100 Output: "202"
Example 2:
Input: -7 Output: "-10"
Note: The input will be in range of [-1e7, 1e7].
給定一個整數,將其轉化為7進制,並以字符串形式輸出。
示例 1:
輸入: 100 輸出: "202"
示例 2:
輸入: -7 輸出: "-10"
註意: 輸入範圍是 [-1e7, 1e7] 。
16ms
1 class Solution { 2 func convertToBase7(_ num: Int) -> String { 3 if num == 0 {return "0"} 4 var res:[Int] = [Int]() 5 //取絕對值 6 var number:Int = abs(num) 7 while(number != 0) 8 { 9 var temp:Int = number % 7 10 number /= 711 //在位置0處插入 12 res.insert(temp,at: 0) 13 } 14 //數組轉字符串 15 let dataInt = res.map(String.init) 16 var str:String = dataInt.joined(separator: "") 17 if num < 0 18 { 19 str = "-" + str 20 } 21 returnstr 22 } 23 }
8ms
1 class Solution { 2 func convertToBase7(_ num: Int) -> String { 3 var input = abs(num) 4 5 var result = "" 6 7 if num == 0 { 8 return "0" 9 } 10 11 while input >= 1 { 12 result = "\(input % 7)" + result 13 input = input / 7 14 } 15 16 if num < 0 { 17 result = "-" + result 18 } 19 20 return result 21 } 22 }
12ms
1 class Solution { 2 func convertToBase7(_ num: Int) -> String { 3 if num == 0 { return "0" } 4 let number = abs(num) 5 var result = "" 6 var x = number 7 while x > 0 { 8 let rem = x % 7 9 result = "\(rem)\(result)" 10 x = x / 7 11 } 12 13 return num < 0 ? "-\(result)" : result 14 } 15 }
20ms
1 class Solution { 2 func convertToBase7(_ num: Int) -> String { 3 if num < 0 { 4 return "-" + convertToBase7(-num) 5 } 6 7 var res = "" 8 var num = num 9 10 while num >= 7 { 11 res = String(num % 7) + res 12 num /= 7 13 } 14 res = String(num) + res 15 16 return res 17 } 18 }
24ms
1 class Solution { 2 func convertToBase7(_ num: Int) -> String { 3 guard num != 0 else { 4 return "0" 5 } 6 var num = num 7 var flag = true 8 if num < 0 { 9 flag = false 10 num = -num 11 } 12 var result = "" 13 while num > 0 { 14 result = "\(num % 7)" + result 15 num = num / 7 16 } 17 return flag ? result : ("-" + result) 18 } 19 }
[Swift]LeetCode504. 七進制數 | Base 7