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)

将给定字符串变为合法的IP地址(所有情况)。

需要注意的是:

1、如果0作为开头,那么只能是0。

2、不能超过255。

3、注意不要越界。

尽量运用数组,速度达到最快1ms。

public class Solution {

    List result = new ArrayList<String>();
char[] IP ; public List<String> restoreIpAddresses(String s) {
int len = s.length();
if( len < 4 || len > 12)
return result;
IP = s.toCharArray(); getReult(0,0,new char[len+3]); return result; } public void getReult(int num,int pos,char[] ans){ if( num != 3){
if ( pos-num < ans.length-3 && IP[pos-num] == '0'){
ans[pos] = '0';
ans[pos+1] = '.';
getReult(num+1,pos+2,ans);
return ;
}
for( int i = pos ; i < pos+2 && i<ans.length-3+num;i++){
ans[i] = IP[i-num];
ans[i+1] = '.';
getReult(num+1,i+2,ans);
}
if( ans.length-3+num-pos >= 3){
int tt = (IP[pos-num]-'0')*100+(IP[pos-num+1]-'0')*10+(IP[pos-num+1]-'0');
if( tt <= 255 ){
ans[pos+2] = IP[pos+2-num];
ans[pos+3] = '.';
getReult(num+1,pos+4,ans);
}
} }else{ int len = ans.length-pos;
if( len < 1 || len > 3)
return ;
if ( IP[pos-num] == '0' && len != 1)
return ;
else{
if( len == 3 ){
int tt = (IP[pos-num]-'0')*100+(IP[pos-num+1]-'0')*10+(IP[pos-num+2]-'0');
if( tt > 255 )
return ;
}
for( int i = pos; i<ans.length;i++){
ans[i] = IP[i-3];
}
result.add( new String ( String.valueOf(ans))); }
} } }

leetcode 93 Restore IP Addresses ----- java的更多相关文章

  1. leetcode 93. Restore IP Addresses(DFS, 模拟)

    题目链接 leetcode 93. Restore IP Addresses 题意 给定一段序列,判断可能组成ip数的所有可能集合 思路 可以采用模拟或者DFS的想法,把总的ip数分成四段,每段判断是 ...

  2. [LeetCode] 93. Restore IP Addresses 复原IP地址

    Given a string containing only digits, restore it by returning all possible valid IP address combina ...

  3. LeetCode : 93. Restore IP Addresses

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABZ4AAAHUCAYAAAC6Zj2HAAAMFGlDQ1BJQ0MgUHJvZmlsZQAASImVlw

  4. 93.Restore IP Addresses(M)

    93.Restore IP Addresses Medium 617237FavoriteShare Given a string containing only digits, restore it ...

  5. 【LeetCode】93. Restore IP Addresses

    Restore IP Addresses Given a string containing only digits, restore it by returning all possible val ...

  6. 93. Restore IP Addresses

    题目: Given a string containing only digits, restore it by returning all possible valid IP address com ...

  7. 【leetcode】Restore IP Addresses

    Restore IP Addresses Given a string containing only digits, restore it by returning all possible val ...

  8. 【一天一道LeetCode】#93. Restore IP Addresses

    一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Given a ...

  9. Java for LeetCode 093 Restore IP Addresses

    Given a string containing only digits, restore it by returning all possible valid IP address combina ...

随机推荐

  1. CSU1022

    题目: blue和AutoGerk是好朋友.他们的相同点是都喜欢研究算法,不同点是AutoGerk已是大牛而blue还是菜鸟.blue经常拿一些自以为很难的问题去问AutoGerk,想难倒他,但是每次 ...

  2. 看项目得到info_freeCsdn-01闪屏页面

    /** * 渐变展示启动屏 */ private void startAnimation() { Animation aa = new Animation() { }; aa.setDuration( ...

  3. java基础之 异常

    Throwable是所有Java程序中错误处理的父类,有两种资类:Error和Exception. Error:表示由JVM所侦测到的无法预期的错误,由于这是属于JVM层次的严重错误,导致JVM无法继 ...

  4. 纯JS文本在线HTML编辑器KindEditor

    KindEditor(http://www.kindsoft.net)是一款比较专业,主流,好用的在线HTML编辑器. 它除了可以将文本进行编辑.将Word中的内容复制进来外,本身还可以拖动缩放(右下 ...

  5. 使用变量替换批量部署GoldenGate

    GoldenGate运行时允许在参数文件中动态指定一个值,即在参数文件中使用一个变量,而不是一个静态的值,当启动OGG进程时,根据环境动态加载此变量的值,达到在不同环境中,通过变量定义,实现多个环境的 ...

  6. PHP time() 函数

    定义和用法 time() 函数返回当前时间的 Unix 时间戳. 语法 time(void) 参数 描述 void 可选. 说明 返回自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 ...

  7. SqlServer DateDiff函数 比较时间 (转)

    DateDiff函数 是一个非常有用的函数,它可以为一些网页做一些特殊的效果.    我就曾用到它和一张'new'字样的图片 来区别网页显示的信息是否为最近的信息.例如:提示最近的通知,最近的新闻等等 ...

  8. Jul_31 PYTHON REGULAR EXPRESSIONS

    1.Special Symbols and Characters 1.1 single regex 1 . ,Match any character(except \n) ^ ,Match start ...

  9. php大力力 [023节]CREATE TABLE创建新表sql写字段备注(2015-08-27)

    2015-08-27 php大力力023.CREATE TABLE创建新表sql写字段备注 http://www.cnblogs.com/dalitongxue/p/4762182.html 参考: ...

  10. ————————————————————————————杭电ACM————————————————X-POWER————————————————————————————————

    _________________________________________我要成大牛!!!___________________________________________________ ...