LeetCode Restore IP Addresses
来源:互联网 发布:计算机数据库研究生 编辑:程序博客网 时间:2024/06/05 10:14
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)
思路:dfs处理,最多就4层递归,因为ip最多就是由4个数组成的。
public class Solution { public List<String> restoreIpAddresses(String s) { List<String> result = new ArrayList<String>(); if (s.length() < 4 || s.length() > 15) return result; List<String> tmp = new ArrayList<String>(); dfs(result, tmp, 0, 0, s); return result; } private void dfs(List<String> result, List<String> tmp, int dep, int cur, String s) {if (dep >= 4) {if (cur == s.length()) {StringBuilder ans = new StringBuilder();ans.append(tmp.get(0));for (int i = 1; i < 4; i++)ans.append("." + tmp.get(i));result.add(ans.toString());}return;}for (int k = 1; k <= 3 && cur+(k-1) < s.length(); k++) {String num = s.substring(cur, cur+k);if (isValid(num)) {tmp.add(num);dfs(result, tmp, dep+1, cur+k, s);tmp.remove(tmp.size()-1);}}}private boolean isValid(String num) {if (num.length() == 1 && num.compareTo("0") >= 0 && num.compareTo("9") <= 0) return true;if (num.length() == 2 && num.compareTo("10") >= 0 && num.compareTo("99") <= 0) return true;if (num.length() == 3 && num.compareTo("100") >= 0 && num.compareTo("255") <= 0) return true;return false;}}
0 0
- LeetCode: Restore IP Addresses
- LeetCode : Restore IP Addresses
- [LeetCode] Restore IP Addresses
- [LeetCode]Restore IP Addresses
- LeetCode:Restore IP Addresses
- LeetCode Restore IP Addresses
- [leetcode] Restore IP Addresses
- LeetCode:Restore IP Addresses
- [LeetCode] Restore IP Addresses
- LeetCode - Restore IP Addresses
- LeetCode | Restore IP Addresses
- 【leetcode】Restore IP Addresses
- Leetcode: Restore IP Addresses
- leetcode Restore IP Addresses
- leetcode Restore IP Addresses
- [LeetCode] Restore IP Addresses
- Leetcode: Restore IP Addresses
- [LeetCode] Restore IP Addresses
- Android Fragment应用实战,使用碎片向ActivityGroup说再见
- 发送广播简易工具类
- VC中三种获取本地时间的方式
- java中断言(assert)应用
- html5 postMessage解决跨域、跨窗口消息传递
- LeetCode Restore IP Addresses
- filter过滤实例知识
- sql 删除 空记录
- WEKA使用教程
- java单点登录的实现
- JS中,'yyyy-MM-dd HH:mm:ss'字符串转为日期
- 手把手教你 python读取文件报错:ValueError encoding must be one of 'utf_8', 'big5', or 'gbk'.
- “互联网女神”带你看移动互联网时代新商业图景
- 静态代码块与代码块与构造器