给定一个只包含数字的字符串,复原它并返回所有可能的IP地址格式。
例如:
给定 "25525511135",
返回 ["255.255.11.135", "255.255.111.35"]. (我们可以不考虑数组内元素的顺序)
详见:https://leetcode.com/problems/restore-ip-addresses/description/

Java实现:

class Solution {
public List<String> restoreIpAddresses(String s) {
List<String> res = new ArrayList<String>();
if (s.length()<4||s.length()>12){
return res;
}
String item = new String();
helper(s, 0, item, res);
return res;
} private void helper(String s, int start, String item, List<String> res){
if (start == 3 && isValid(s)) {
res.add(item + s);
return;
}
for(int i=0; i<3 && i<s.length()-1; ++i){
String substr = s.substring(0,i+1);
if (isValid(substr)){
helper(s.substring(i+1), start+1, item + substr + '.', res);
}
}
} private boolean isValid(String s){
if (s.charAt(0)=='0'){
return s.equals("0");
}
int num = Integer.parseInt(s);
if(num > 0 && num <= 255){
return true;
}else{
return false;
}
}
}

参考:https://www.cnblogs.com/springfor/p/3886409.html

093 Restore IP Addresses 复原IP地址的更多相关文章

  1. [LeetCode] Restore IP Addresses 复原IP地址

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

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

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

  3. Leetcode93. Restore IP Addresses复原IP地址

    给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式. 示例: 输入: "25525511135" 输出: ["255.255.11.135", ...

  4. [LintCode] Restore IP Address 复原IP地址

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

  5. 93. Restore IP Addresses

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

  6. LeetCode解题报告—— Reverse Linked List II & Restore IP Addresses & Unique Binary Search Trees II

    1. Reverse Linked List II Reverse a linked list from position m to n. Do it in-place and in one-pass ...

  7. leetcode -day29 Binary Tree Inorder Traversal &amp; Restore IP Addresses

    1.  Binary Tree Inorder Traversal Given a binary tree, return the inorder traversal of its nodes' ...

  8. 【leetcode】Restore IP Addresses

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

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

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

随机推荐

  1. js中const,var,let区别 今天第一次遇到const定义

    今天第一次遇到const定义的变量,查阅了相关资料整理了这篇文章.主要内容是:js中三种定义变量的方式const, var, let的区别. 1.const定义的变量不可以修改,而且必须初始化. 1 ...

  2. 在js里UTF-8与GB2312的互转

    js的函数如下: function GB2312UTF8() { this.Dig2Dec = function(s) { var retV = 0; if (s.length == 4) { for ...

  3. Apktool 和 Jeb 给出的不同的smali语法

    今天发现用Apktool和Jeb反编译出来的smali在语法上有一定区别,比如一个Java函数: private void packageNameCheck() { com.example.testf ...

  4. C++模板之可变模板参数

    可变模板参数---- C++11新特性 可变模板参数(variadic templates)是C++11新增的最强大的特性之一,它对参数进行了高度泛化,它能表示0到任意个数.任意类型的参数 由于可变模 ...

  5. POJ2217(最长公共子串)

    Secretary Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 992   Accepted: 408 Descripti ...

  6. why ftp服务器采用多进程模式

    为什么没有采用多线程或者IO复用,原因是在多线程或IO复用的情况下,当前目录是共享的,无法根据每一个连接来拥有自己的当前目录. 多进程模式下,一个连接拥有2个进程,一个是nobody进程,一个是服务进 ...

  7. Python复习 基础知识

     动态语言:变量类型不固定称之为动态语言 什么是动态语言呢? 可以简单的理解为直接被解释执行的语言称为动态语言. 而需要编译环境将程序转换为其它的编码再执行的语言称为静态语言. 当前静态语言有:jav ...

  8. 文本编辑器[notepad++] :一些快捷键

    资源来自网络收集. Ctrl+C 复制 Ctrl+X 剪切 Ctrl+V 粘贴 Ctrl+Z 撤消 Ctrl+Y 恢复 Ctrl+A 全选 Ctrl+F 键查找对话框启动 Ctrl+H 查找/替换对话 ...

  9. tetrahedron

    题意: 求解一个四面体的内切球. 解法: 首先假设内切球球心为$(x0,x1,x2)$,可以用$r = \frac{3V}{S_1+S_2+S_3+S_4}$得出半径, 这样对于四个平面列出三个方程, ...

  10. python 之生产者消费者模型

    进程实现: import time,random from multiprocessing import Process,Queue def producer(name,q): count= 0 wh ...