[Swift]LeetCode246.對稱數 $ Strobogrammatic Number
阿新 • • 發佈:2019-01-03
A strobogrammatic number is a number that looks the same when rotated 180 degrees (looked at upside down).
Write a function to determine if a number is strobogrammatic. The number is represented as a string.
Example 1:
Input: "69" Output: true
Example 2:
Input: "88" Output: true
Example 3:
Input: "962" Output: false
strobogramatic數字是旋轉180度時看起來相同的數字(上下顛倒)。
寫一個函式來確定一個數字是否是頻閃的。數字用字串表示。
例1:
輸入:“69”
輸出:true
例2:
輸入:“88”
輸出:真
例3:
輸入:“962”
輸出:false
1 class Solution { 2 func isStrobogrammatic(_ num:String) -> Bool { 3 var m:[Character:Character] = ["0":"0","1":"1","8":"8","6":"9","9":"6"] 4 let len = num.count 5 for i in 0...len/2 6 { 7 if m[num[i]] != num[len - i - 1] 8 { 9 return false 10 } 11 } 12 return true 13 } 14 } 15 16 extension String {17 //subscript函式可以檢索陣列中的值 18 //直接按照索引方式擷取指定索引的字元 19 subscript (_ i: Int) -> Character { 20 //讀取字元 21 get {return self[index(startIndex, offsetBy: i)]} 22 } 23 }