[Swift]LeetCode247.对称数 II $ Strobogrammatic Number II

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(shanqingyongzhi)
➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:http://www.javashuo.com/article/p-hzoiftts-mb.html 
➤若是连接不是山青咏芝的博客园地址,则多是爬取做者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持做者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★html

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

Find all strobogrammatic numbers that are of length = n.github

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

Hint:app

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

strobogramatic数字是旋转180度时看起来相同的数字(上下颠倒)。ide

找到全部长度为n的频闪图。spa

例如,code

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

提示:blog

尝试使用递归,注意它应该使用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 }
相关文章
相关标签/搜索