题解 | 数字字符串转化成IP地址
数字字符串转化成IP地址
https://www.nowcoder.com/practice/ce73540d47374dbe85b3125f57727e1e
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return string字符串ArrayList */ ArrayList<String> path = new ArrayList<>(); ArrayList<String> ans = new ArrayList<>(); HashSet<String> hashset = new HashSet<>();//保存“0”-“255”字符串 public ArrayList<String> restoreIpAddresses (String s) { for(int i = 0; i < 256; i++){ hashset.add(String.valueOf(i)); } back_tracking(s,0); return ans; } public void back_tracking(String s, int starIndex){ if(path.size() > 4){ return; } if(path.size() == 4 && starIndex >= s.length()){ String res = path.get(0); for(int i = 1; i < 4; i++){ res += "."; res += path.get(i); } ans.add(res); return; } for(int i = starIndex; i < s.length(); i++){ String str = s.substring(starIndex,i+1); if (!hashset.contains(str)){ return; }else{ path.add(str); back_tracking(s,i+1); path.remove(path.size()-1); } } } }