1. 程式人生 > >[Swift]LeetCode246.對稱數 $ Strobogrammatic Number

[Swift]LeetCode246.對稱數 $ Strobogrammatic Number

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 }