首页 > 代码库 > 247. Strobogrammatic Number II
247. 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"]
.
dfs
public class Solution { //dfs //考虑 0110的状况 主要是去掉0 public List<String> findStrobogrammatic(int n) { List<String> member = new ArrayList<>(); member = dfs(n, n); return member; } public List<String> dfs(int n , int m) { if(n == 0) { ArrayList<String> member = new ArrayList<>(); member.add(""); return new ArrayList<>(member); } if(n == 1) { ArrayList<String> member = new ArrayList<>(); member.add("0"); member.add("1"); member.add("8"); return new ArrayList<>(member); } List<String> list = dfs(n - 2, m); ArrayList<String> newList = new ArrayList<String>(); // from bottom to top consider 0 for(int i = 0 ; i< list.size(); i++){ newList.add("1" + list.get(i) + "1"); newList.add("6" + list.get(i) + "9"); newList.add("9" + list.get(i) + "6"); newList.add("8" + list.get(i) + "8"); if(n != m) //去0 like 0110, 0880 newList.add("0" + list.get(i) + "0"); } return newList; } }
from bottom to up consider 0 like n =4 0110,0000
247. Strobogrammatic Number II
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。