欧美风格网站特点,淮南论坛,网上购物商城的背景与意义,欧米茄表官方官网题目链接#xff1a;LeetCode93
欢迎留言交流#xff0c;每天都会回消息。
class Solution {//定义结果集#xff0c;返回最终结果ListString rs new ArrayList();public ListString restoreIpAddresses(String s) {//将字符串包装为可变长度的字…题目链接LeetCode93
欢迎留言交流每天都会回消息。
class Solution {//定义结果集返回最终结果ListString rs new ArrayList();public ListString restoreIpAddresses(String s) {//将字符串包装为可变长度的字符串StringBuilder sb new StringBuilder(s);backTracking(sb, 0, 0);return rs;}//sb:传入的字符串//startIdx:用于记录在那个位置分割字符串//dotCount:IP中 . 的个数void backTracking(StringBuilder sb, int startIdx, int dotCount){//.的个数为3的时候if(dotCount 3){//判断最后一个 . 后面剩余的字符是否复合规则if(isValid(sb, startIdx, sb.length() - 1)){rs.add(sb.toString());}return;}for(int i startIdx; i sb.length(); i){//如果字符合法if(isValid(sb, startIdx, i)){//字符后面插入.sb.insert(i 1, .);//递归backTracking(sb, i 2, dotCount 1);//回溯sb.deleteCharAt(i 1);}else{break;}}}//判断start到end这段字符是否为有效的字符private boolean isValid(StringBuilder s, int start, int end){if(start end){return false;}//首字母为零而且字母数大于等于2的字串013 if(s.charAt(start) 0 start ! end){return false;}int num 0;//遍历start到end字符将字符转换为数字将数值和255比较大小for(int i start; i end; i){int digit s.charAt(i) - 0;num num * 10 digit;if(num 255){return false;}}return true;}
}