博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode - Restore IP Addresses
阅读量:5339 次
发布时间:2019-06-15

本文共 1554 字,大约阅读时间需要 5 分钟。

题目:

Given a string containing only digits, restore it by returning all possible valid IP address combinations.

For example:

Given "25525511135",

return ["255.255.11.135", "255.255.111.35"]. (Order does not matter)

思路:

递归,然后判断是否是合法的1/4部分

package recursion;import java.util.ArrayList;import java.util.List;public class RestoreIPAddresses {    public List
restoreIpAddresses(String s) { List
res = new ArrayList
(); dfs(res, "", s, 1); return res; } private void dfs(List
res, String t, String s, int k) { if (k == 4) { if (isValid(s)) res.add(t + s); } else { int n = s.length(); for (int i = 1; i <= 4; ++i) { if (n >= i && isValid(s.substring(0, i))) { dfs(res, t + s.substring(0, i) + ".", s.substring(i, n), k + 1); } } } } private boolean isValid(String s) { if (s.length() > 0 && s.length() <= 3) { if (s.length() > 1 && s.charAt(0) == '0') return false; int value = Integer.parseInt(s); if (value <= 255) return true; } return false; } public static void main(String[] args) { // TODO Auto-generated method stub RestoreIPAddresses r = new RestoreIPAddresses(); for (String s : r.restoreIpAddresses("010010")) { System.out.println(s); } }}

 

转载于:https://www.cnblogs.com/null00/p/5102153.html

你可能感兴趣的文章
Windwos中的线程同步
查看>>
LeetCode : Reverse Vowels of a String
查看>>
时间戳与日期的相互转换
查看>>
jmeter(五)创建web测试计划
查看>>
python基本数据类型
查看>>
1305: [CQOI2009]dance跳舞 - BZOJ
查看>>
关于TDD的思考
查看>>
Cocos2d-x学习之windows 7 android环境搭建
查看>>
将html代码中的大写标签转换成小写标签
查看>>
jmeter多线程组间的参数传递
查看>>
零散笔记
查看>>
学 Win32 汇编[22] - 逻辑运算指令: AND、OR、XOR、NOT、TEST
查看>>
MaiN
查看>>
[Python学习] 简单网络爬虫抓取博客文章及思想介绍
查看>>
第四章 解析库的使用 4.2 BeautifulSoup的使用
查看>>
如何修改hotspot默认信道
查看>>
触发器课程SQL Server 知识梳理九 触发器的使用
查看>>
信息浏览器从Android的浏览器中传递cookie数据到App中信息浏览器
查看>>
限制对比度自适应直方图均衡化算法原理、实现及效果
查看>>
MD5 加密
查看>>