LeetCode - Restore IP Addresses
2016-01-05 14:06
465 查看
题目:
Given a string containing only digits, restore it by returning all possible valid IP address combinations.
For example:
Given
return
思路:
递归,然后判断是否是合法的1/4部分
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<String> restoreIpAddresses(String s) { List<String> res = new ArrayList<String>(); dfs(res, "", s, 1); return res; } private void dfs(List<String> 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); } } }
相关文章推荐
- Android从Assets中读取图片
- Apex类
- [JS插件] pageSwitch 适合移动端整屏滚动效果的使用教程
- 在db2中 两个数据库之间的两个表的联合查询
- XML学习总结(1)——XML入门
- Google Map开发系列(八)——使用GMapOptions定制你的谷歌地图
- OpenGL(4)-Opengl矩阵变换
- 设备管理 USB ID
- bootstrap响应式布局简单实例
- MVC 页面向服务传参(view->controller,get,post)
- 百度地图的坑,显示网格问题
- [Android实例] 拖动滑块进行图片拼合验证方式的实现
- 嵌入式学习小阶段小总结
- 神经网络matlab函数使用
- asp.net下应用Echarts饼图
- configure with MKL
- 认识DDL DML DCL
- 安卓可以显示进度的下载器
- Unity中Oculus分屏相机和普通相机一键切换
- css知识复习