面试:字符串: 提取IP地址
来源:互联网 发布:天音淘宝价格 编辑:程序博客网 时间:2024/05/16 15:04
题目
给定一个只含数字的字符串,返回所有合法的ip地址
算法
- ip地址是4段
- 每段三个情况:
(1) 只取一个数字
(2) 取两个数字,第一个数字不是0
(3) 取三个数字,第一个数字不是0,而且三个数组成的数小于256
//递归
import java.util.*;class Solution{ public ArrayList<String> restoreIpAddress(String s){ ArrayList<String> res=new ArrayList<String>(); String ip=""; restoreIpAddress(s,0,0,ip,res); return res; } private void restoreIpAddress(String s,int start,int part,String ip, ArrayList<String> res){ //数字多,则忽略 if(s.length() -start >(4-part)*3) return; //数字太少也忽略 if(s.length()-start <(4-part)) return; //找到一个合法的ip if(start==s.length() && part ==4) { //把最后一个抹去 res.add(ip.substring(0,ip.length()-1)); return; } int num =0; for(int i=start;i<Math.min(start+3,s.length());i++){ //每个位置有三种可能 num = num*10 +(s.charAt(i)-'0'); if(num<=255){ //每段ip地址的数字都是小于256 ip+=s.charAt(i); restoreIpAddress(s,i+1,part+1,ip+'.',res); } //如果第一个是0的话,只考虑0,不考虑0x组成的地址 if(num==0) break; } } }
0 0
- 面试:字符串: 提取IP地址
- 在长字符串中提取IP地址
- @如何提取ip地址?----awk@
- linux shell 提取 ip 地址
- 提取IP 地址(算法)
- sed/grep提取IP地址
- 如何用bash提取网卡ip地址?
- shell合理运用巧妙提取IP地址
- 从一段文本提取IP地址
- c语言中单引号和双引号的差别---解决从字符串中提取IP地址的困惑
- Linux正则过滤命令ifconfig/ip提取IP地址
- 面试:字符串: 提取单词(2)
- 从任何字符串中提取IP
- ip地址转换成字符串
- 把字符串IP地址转成整数IP地址
- 字符串IP地址和二进制IP地址的转换
- Linux DHCP的log中提取MAC和IP地址.
- 嵌入式程序的一种提取ip地址和验证
- 如何在CentOS-6.5-x86_64安装Git
- 电商之梳理jsp相关知识---前端技术
- 数组整理
- 在CentOS-6.5-x86_64中搭建Git服务器
- 疯狂iOS上1
- 面试:字符串: 提取IP地址
- 电商之梳理css相关知识---前端技术
- Spring与Mybatis整合--使用MapperScannerConfigurer批量扫描Mapper接口实现
- 电商之梳理JQuery相关知识---前端技术
- Zephyr 教程:内核基础(★★★★★)
- 电商之梳理angular Js相关知识---前端技术
- RPi-002 从GPIO控制到替Pi加上0.96" OLED
- Linux中awk命令正确的求最大值、最小值、平均值、总和
- Android开发实践 带你理解使用WebView