Restore IP Addresses
来源:互联网 发布:c语言input是什么意思 编辑:程序博客网 时间:2024/06/12 03:01
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搜索来解决。
public class Solution { public ArrayList<String> restoreIpAddresses(String s) { ArrayList<String> result = new ArrayList<String>(); ArrayList<String> list = new ArrayList<String>(); if(s.length() <4 || s.length() > 12) return result; helper(result, list, s , 0); return result; } public void helper(ArrayList<String> result, ArrayList<String> list, String s, int start){ if(list.size() == 4){ if(start != s.length()) return; StringBuffer sb = new StringBuffer(); for(String tmp: list){ sb.append(tmp); sb.append("."); } sb.deleteCharAt(sb.length()-1); result.add(sb.toString()); return; } for(int i=start; i<s.length() && i<= start+3; i++){ String tmp = s.substring(start, i+1); if(isvalid(tmp)){ list.add(tmp); helper(result, list, s, i+1); list.remove(list.size()-1); } } } private boolean isvalid(String s){ if(s.charAt(0) == '0') return s.equals("0"); // to eliminate cases like "00", "10" int digit = Integer.valueOf(s); return digit >= 0 && digit <= 255; }}
0 0
- LeetCode: Restore IP Addresses
- Restore IP Addresses
- LeetCode : Restore IP Addresses
- [LeetCode] Restore IP Addresses
- Restore IP Addresses
- [LeetCode]Restore IP Addresses
- Restore IP Addresses
- Restore IP Addresses
- LeetCode:Restore IP Addresses
- Restore IP Addresses
- Restore IP Addresses
- LeetCode Restore IP Addresses
- [leetcode] Restore IP Addresses
- Restore IP Addresses
- LeetCode:Restore IP Addresses
- [LeetCode] Restore IP Addresses
- LeetCode - Restore IP Addresses
- LeetCode | Restore IP Addresses
- HDU 1969 Pie【二分】
- 用“僵尸对象”调试内存管理问题
- Linux下对文件权限的相关操作
- 【划分树】 HDU 3473 Minimum Sum 中位数
- 运用JS设置cookie、读取cookie、删除cookie
- Restore IP Addresses
- Coreseek的使用步骤
- [LeetCode] Valid Anagram
- Visual Studio 遇到了异常。这个可能是由某个扩展导致的
- tar 的用法介绍
- 黑马程序员——Java基础---集合1
- Android PopupWindow的使用
- Atom飞行手册翻译: 3.1 ~ 3.2
- IOS 开发xcode 6.3以后 自制FrameWork教程