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

[Swift]LeetCode247.對稱數 II $ Strobogrammatic Number II

A strobogrammatic number is a number that looks the same when rotated 180 degrees (looked at upside down).

Find all strobogrammatic numbers that are of length = n.

For example,
Given n = 2, return ["11","69","88","96"].

Hint:

  1. Try to use recursion and notice that it should recurse with n
     - 2 instead of n - 1.

strobogramatic數字是旋轉180度時看起來相同的數字(上下顛倒)。

找到所有長度為n的頻閃圖。

例如,

給定n=2,返回 [“11”,“69”,“88”,“96”]。

提示:

嘗試使用遞迴,注意它應該使用n-2而不是n-1進行遞迴。


 1 class Solution {
 2     func shortest(_ n:Int) -> [String] {
 3         var one:[String] = ["0","1","8"]
 4         var
two:[String] = [""] 5 var res:[String] = two 6 if n % 2 == 1 7 { 8 res = one 9 } 10 for i in stride(from: (n % 2) + 2,through: n,by: 2) 11 { 12 var t:[String] = [String]() 13 for a in res 14 {
15 if i != n 16 { 17 t.append("0" + a + "0") 18 } 19 t.append("1" + a + "1") 20 t.append("6" + a + "9") 21 t.append("8" + a + "8") 22 t.append("9" + a + "6") 23 } 24 res = t 25 } 26 return res 27 } 28 }