题解 | 数字字符串转化成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);
}
}
}
}
查看16道真题和解析

MDPI公司福利 431人发布