题解 | #数字字符串转化成IP地址# 纯纯暴力
数字字符串转化成IP地址
https://www.nowcoder.com/practice/ce73540d47374dbe85b3125f57727e1e
import java.util.*; public class Solution { boolean isJustify(String str){ if(str.length() > 1 && str.charAt(0) == '0') return false; Integer intVal = Integer.valueOf(str); if(intVal >= 0 && intVal <= 255) return true; return false; } public ArrayList<String> restoreIpAddresses (String s) { ArrayList<String> result = new ArrayList<>(); for(int i=1;i<=3;i++){ for(int j=1;j<=3;j++){ for(int k=1;k<=3;k++){ for(int v=1;v<=3;v++){ if(i + j + k + v == s.length()){ String str1 = s.substring(0,i); String str2 = s.substring(i,i+j); String str3 = s.substring(i+j,i+j+k); String str4 = s.substring(i+j+k,s.length()); if( isJustify(str1) && isJustify(str2) && isJustify(str3) && isJustify(str4) ){ String t = str1 + "." + str2 + "." + str3 + "." + str4; result.add(t); } } } } } } // write code here return result; } }
最多遍历次数 3 ^ 4 , 非常省时省力省脑子