[Swift]LeetCode504. 七進制數 | Base 7

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公衆號:山青詠芝(shanqingyongzhi)
➤博客園地址:山青詠芝(https://www.cnblogs.com/strengthen/
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:http://www.javashuo.com/article/p-kpsqlyoj-me.html 
➤若是連接不是山青詠芝的博客園地址,則多是爬取做者的文章。
➤原文已修改更新!強烈建議點擊原文地址閱讀!支持做者!支持原創!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★html

Given an integer, return its base 7 string representation.git

Example 1:github

Input: 100
Output: "202"

 Example 2:數組

Input: -7
Output: "-10"

 Note: The input will be in range of [-1e7, 1e7].微信


 給定一個整數,將其轉化爲7進制,並以字符串形式輸出。spa

示例 1:code

輸入: 100
輸出: "202"

示例 2:htm

輸入: -7
輸出: "-10"

注意: 輸入範圍是 [-1e7, 1e7] 。blog


 16msrem

 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 /= 7
11             //在位置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         return str
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 }
相關文章
相關標籤/搜索