Leetcode Restore IP Addresses
来源:互联网 发布:知乎红人是什么意思 编辑:程序博客网 时间:2024/04/29 22:45
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)
http://oj.leetcode.com/problems/restore-ip-addresses/
题意说明:输入一个字符串,还原成合理的ip地址,要求输出所有的可能性。
很显然dfs,但有各种各样的限制条件,一次想不全,都是提交出现wrong answer之后逐步加上的。
除了0本身之外,不能出现以0开头的数字。
对于过长的数字直接返回。
AC代码:
For example:
Given "25525511135",
return ["255.255.11.135", "255.255.111.35"]. (Order does not matter)
http://oj.leetcode.com/problems/restore-ip-addresses/
题意说明:输入一个字符串,还原成合理的ip地址,要求输出所有的可能性。
很显然dfs,但有各种各样的限制条件,一次想不全,都是提交出现wrong answer之后逐步加上的。
除了0本身之外,不能出现以0开头的数字。
对于过长的数字直接返回。
AC代码:
public class Solution { boolean dfs(String input, int number, String ipAddress, ArrayList<String> result) { if(input.length()==0) { return false; } if(number==3) { int addressNumber = Integer.parseInt(input); if(input.charAt(0)=='0') { if(!(input.length()==1&&addressNumber==0)) return false; } if(addressNumber<=255) { ipAddress = ipAddress + input; result.add(ipAddress); return true; } else { return false; } } else { if(input.length()>=1) { dfs(input.substring(1),number + 1,ipAddress + input.substring(0,1) + "." ,result); } if(input.length()>=2&&input.charAt(0)!='0') { dfs(input.substring(2),number + 1,ipAddress + input.substring(0,2) + "." ,result); } if(input.length()>=3&&input.charAt(0)!='0') { int addressNumber = Integer.parseInt(input.substring(0,3)); if(addressNumber<=255) { dfs(input.substring(3),number + 1,ipAddress + input.substring(0,3) + "." ,result); } } } return true; } public ArrayList<String> restoreIpAddresses(String s) { ArrayList<String> result = new ArrayList<String>(); if(s==null||s.length()>12) { return result; } String temp = ""; dfs(s,0,temp,result); return result; }}
1 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
- 自动1121黄浩然
- VB6 IP地址+网卡地址+网卡类型
- TLV编解码【编程】
- Invalid result location value/parameter 解决办法
- 用SVN下载编译Spring3.2.4源码导入eclipse
- Leetcode Restore IP Addresses
- 第二周作业
- android 保存bitmap到sdk中
- Java进阶篇--容器(二)
- sqlserver2005 express 及SSMS安装小记
- python 框架 twisted
- python对excel文件的操作学习笔记
- CSDN的第一篇博文
- 九度1449:确定比赛名次(拓扑排序)