本篇文章小编给大家分享一下Java实现复原IP地址方法,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。
示例:
输入: “25525511135”
输出: [“255.255.11.135”, “255.255.111.35”]
class Solution { private Listres = new ArrayList<>(); public List restoreIpAddresses(String s) { if (s.length() < 4) //非法输入 return res; backtrack(s, 0, new StringBuilder(), 0); return res; } private void backtrack(String s, int start, StringBuilder sb, int pointNumOfSb) { if (pointNumOfSb > 4) //大于三个点,则剪枝,这里大于4是因为最后一次还会加一 return; if (start == s.length() && pointNumOfSb == 4) { //pointNumOfSb==4,则是一个合法的IP res.add(sb.toString().substring(1)); //substring(1)是因为每次append(".xxx"),第零个位置是"." return ; } for (int i = start; i < s.length() && i - start < 3; i++) { //i-start < 3,如果大于三位数则返回 String x = s.substring(start, i + 1); if (x.charAt(0) == '0' && x.length() > 1) //如果是0xx这种则返回 return ; if (Integer.parseInt(x) <= 255) { sb.append("." + x); backtrack(s, i + 1, sb, pointNumOfSb + 1); sb.delete(sb.lastIndexOf("."), sb.length()); } } } }
火柴人绳索英雄2无限金币版 (Stickman Rope Hero 2)安卓版v2.2v3.4.2
下载奥特曼之格斗超人内测版本 安卓最新版v11.0.0
下载奥特曼之格斗超人百度版 安卓版v11.0.0
下载奥特曼之格斗超人4399游戏盒版 最新安卓版v11.0.0
下载德凯奥特曼D闪光剑模拟器 安卓版v1.0
德凯奥特曼D闪光剑模拟器是一个非常有趣的奥特曼变身模拟器,可
亚刻觉醒器 安卓版v1.1
亚刻觉醒器模拟器是一个非常有趣的奥特曼变身模拟器,为喜欢亚刻
海上餐厅无限金币版 v1.0
海上餐厅免广告版是游戏的破解版本,在该版本中为玩家去除了广告
阿西美女室友竟然全解锁版 v1.0.2
阿西美女室友竟然内置菜单版是游戏的破解版本,在该版本中为玩家
我是大东家正版 最新版v1.2.738
我是大东家正版是一款放置类模拟经营手游,玩家将回到古代成为家