Java實(shí)現(xiàn)復(fù)原IP地址的方法
給定一個(gè)只包含數(shù)字的字符串,復(fù)原它并返回所有可能的 IP 地址格式。
示例:
輸入: “25525511135”
輸出: [“255.255.11.135”, “255.255.111.35”]
PS:
跪了,得LeetCode者得天下,上次我學(xué)的位運(yùn)算符,這次學(xué)的ip地址
class Solution { private List<String> res = new ArrayList<>(); public List<String> restoreIpAddresses(String s) { if (s.length() < 4) //非法輸入 return res; backtrack(s, 0, new StringBuilder(), 0); return res; } private void backtrack(String s, int start, StringBuilder sb, int pointNumOfSb) { if (pointNumOfSb > 4) //大于三個(gè)點(diǎn),則剪枝,這里大于4是因?yàn)樽詈笠淮芜€會(huì)加一 return; if (start == s.length() && pointNumOfSb == 4) { //pointNumOfSb==4,則是一個(gè)合法的IP res.add(sb.toString().substring(1)); //substring(1)是因?yàn)槊看蝍ppend(".xxx"),第零個(gè)位置是"." return ; } for (int i = start; i < s.length() && i - start < 3; i++) { //i-start < 3,如果大于三位數(shù)則返回 String x = s.substring(start, i + 1); if (x.charAt(0) == '0' && x.length() > 1) //如果是0xx這種則返回 return ; if (Integer.parseInt(x) <= 255) { sb.append("." + x); backtrack(s, i + 1, sb, pointNumOfSb + 1); sb.delete(sb.lastIndexOf("."), sb.length()); } } } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Java實(shí)現(xiàn)ip地址和int數(shù)字的相互轉(zhuǎn)換
- Java判斷字符串是否為IP地址的方法
- 基于Java實(shí)現(xiàn)獲取本地IP地址和主機(jī)名
- java如何獲取本機(jī)IP地址
- java IP地址網(wǎng)段計(jì)算的示例代碼
- java 偽造http請(qǐng)求ip地址的方法
- java獲取ip地址與網(wǎng)絡(luò)接口的方法示例
- Java 根據(jù)網(wǎng)址查詢DNS/IP地址的方法
- Java利用Request請(qǐng)求如何獲取IP地址對(duì)應(yīng)的省份、城市詳解
- Java利用Request請(qǐng)求獲取IP地址的方法詳解
- JAVA如何獲取客戶端IP地址和MAC地址
- Java獲取電腦真實(shí)IP地址的示例代碼
相關(guān)文章
Spring MVC學(xué)習(xí)教程之視圖深入解析
這篇文章主要給大家介紹了關(guān)于Spring MVC學(xué)習(xí)教程之視圖解析的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或使用spring mvc具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧2018-11-11解決Java & Idea啟動(dòng)tomcat的中文亂碼問(wèn)題
這篇文章主要介紹了Java & Idea啟動(dòng)tomcat的中文亂碼問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07SpringBoot SSE服務(wù)端主動(dòng)推送事件的實(shí)現(xiàn)
本文主要介紹了SpringBoot SSE服務(wù)端主動(dòng)推送事件的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06Java的數(shù)據(jù)類型和參數(shù)傳遞(詳解)
下面小編就為大家?guī)?lái)一篇Java的數(shù)據(jù)類型和參數(shù)傳遞(詳解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07maven profile實(shí)現(xiàn)多環(huán)境配置的示例
這篇文章主要介紹了maven profile實(shí)現(xiàn)多環(huán)境配置的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01通過(guò)實(shí)例解析Java不可變對(duì)象原理
這篇文章主要介紹了通過(guò)實(shí)例解析Java不可變對(duì)象原理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10