247. Strobogrammatic Number II
写的时候有点困了,0那里没有处理好
1 public List<String> findStrobogrammatic(int n) { 2 List<String> tmp = helper(n); 3 List<String> res = new ArrayList<String>(); 4 if(n == 1) { 5 return tmp; 6 } 7 String allZeroes = ""; 8 for(String each: tmp) { 9 if(!each.startsWith("0")) { 10 res.add(each); 11 } 12 } 13 return res; 14 } 15 16 private List<String> helper(int n) { 17 List<String> res = new ArrayList<String>(); 18 if(n == 0) { 19 res.add(""); 20 } else if(n == 1) { 21 res.add("0"); 22 res.add("1"); 23 res.add("8"); 24 } else{ 25 List<String> pre = helper(n - 2); 26 for(int i = 0; i < pre.size(); i++) { 27 String preStr = pre.get(i); 28 res.add("0"+ preStr + "0"); 29 res.add("1"+ preStr + "1"); 30 res.add("8" + preStr + "8"); 31 res.add("6" + preStr + "9"); 32 res.add("9" + preStr + "6"); 33 } 34 } 35 return res; 36 }