Restore IP Addresses (Java)
来源:互联网 发布:python DAG教程 编辑:程序博客网 时间:2024/05/14 03:37
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)
这道题不太会写,主要是for循环的位置总是卡住,再写的时候注意一下。
Integer.valueOf(String s)返回值为Integer类型,Integer.parseInt(String s)返回值是int类型,二者都是把string转换为整型数据。此题在转换前一定要注意判断是否是诸如002这种不符合的形式,否则转换完就默认为有效数据了。
Source
public class Solution { public List<String> restoreIpAddresses(String s) { List<String> st = new ArrayList<String>(); String a = new String(); if(s.length() < 4 || s.length() > 12) return st; int area = 1; dfs(area, s, st, a); return st; } public boolean isValid(String s){ if(s.charAt(0) == '0'){ if(s.equals("0")) //如果第一位为0 则判断整体是否为字符串“0” 如002这种就是无效数据 return true; else return false; } int num = Integer.valueOf(s); if(num >=0 && num <= 255)//*** return true; else return false; } public void dfs(int area, String s, List<String> st, String a){ if(area == 4 && isValid(s)){ a = a + s; st.add(a); return ; } for(int i = 1; i <= 3; i++){ String temp; if(s.length() >= i) temp = s.substring(0, i); else return; if(isValid(temp) && i < s.length()) dfs(area + 1, s.substring(i, s.length()), st, a + temp + "."); //注意substring的end 截取时不包含end位置的字符,只截取到end-1的位置 } }}
Test
public static void main(String[] args){ String s = "25525511135"; List<String> a = new Solution().restoreIpAddresses(s); System.out.println(a); }
0 0
- Restore IP Addresses Java
- Restore IP Addresses (Java)
- [Leetcode] Restore IP Addresses (Java)
- [JAVA]LeetCode93 Restore IP Addresses
- [leetcode91]Restore IP Addresses(java)
- [LeetCode][Java] Restore IP Addresses
- leetcode:Restore IP Addresses 【Java】
- restore-ip-addresses Java code
- 【leetcode】93. Restore IP Addresses【java】
- 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
- (转载)Android数据库高手秘籍(六)——LitePal的修改和删除操作
- zoj1610 Count the Colors(线段树)
- Linux系统调用--getrlimit()与setrlimit()函数详解
- Android Parcelable和Serializable的区别
- Linux线程(pthread)学习笔记(一)
- Restore IP Addresses (Java)
- LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- SOA Header的处理
- Android代码混淆
- IOS 图片拉伸技巧
- VC下进行串口开发的简单说明
- IRP
- FPGA LVDS应用
- 在使用caffe的时候,如何设置GPU的ID号