93. 复原 IP 地址
2021/6/25 23:30:19
本文主要是介绍93. 复原 IP 地址,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
package leetcode; import java.util.ArrayList; import java.util.List; public class demo_93 { public List<String> restoreIpAddresses(String s) { List<String> list=new ArrayList<String>(); //不符合IP地址长度范围 if(s.length()>12||s.length()<4) {return list;} backtrack(s, list, new ArrayList<String>()); System.out.println(list); return list; } public void backtrack(String s,List<String> list,List<String> alist) { //每次取字符串前1-3的子串 for(int index=1;index<4;index++) { //防止最后取子串越界 try { String s2=s.substring(0,index); //除0外,不出现以0开头的数 if(s2.length()!=1&&s2.startsWith("0")) {break;} //每个位置的大小0-255 if(Integer.valueOf(s2)<0||Integer.valueOf(s2)>255) {break;} alist.add(s2); if(alist.size()<4) { backtrack(s.substring(index), list, alist); } //如果正好全部都能被分割完 if(alist.size()==4&&s.substring(index).equals("")) { String ss=""; for(String s1:alist) { ss=ss+s1+"."; } ss=ss.substring(0,ss.length()-1); //存入到list中 list.add(ss); } //如果被分割后还有剩余子串则继续 else { alist.remove(alist.size()-1); continue; } alist.remove(alist.size()-1); } catch (Exception e) { // TODO: handle exception break; } } } public static void main(String[] args) { // TODO Auto-generated method stub demo_93 d93=new demo_93(); String s="101023"; d93.restoreIpAddresses(s); } }
这篇关于93. 复原 IP 地址的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?