日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Restore IP Addresses leetcode java

發(fā)布時間:2025/5/22 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Restore IP Addresses leetcode java 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題目

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)

?

題解

利用循環(huán)遞歸解決子問題。對于每個段內(nèi)數(shù)來說,最多3位最少1位,所以在每一層可以循環(huán)3次,來嘗試填段。因為IP地址最多4個分段,當(dāng)層數(shù)是3的時候說明已經(jīng)嘗試填過3個段了,那么把剩余沒填的數(shù)段接到結(jié)尾即可。

這個過程中要保證的是填的數(shù)是合法的,最后拼接的剩余的數(shù)也是合法的。

?注意開頭如果是0的話要特殊處理,如果開頭是0,判斷整個串是不是0,不是的話該字符就是非法的。因為001,01都是不對的。

代碼如下:

?1?????public?ArrayList<String>?restoreIpAddresses(String?s)?{??
?2?????????ArrayList<String>?res?=?new?ArrayList<String>();??
?3?????????String?item?=?new?String();
?4?????????if?(s.length()<4||s.length()>12)?
?5?????????return?res;??
?6?????????
?7?????????dfs(s,?0,?item,?res);??
?8?????????return?res;??
?9?????}??
10???????
11?????public?void?dfs(String?s,?int?start,?String?item,?ArrayList<String>?res){??
12?????????if?(start?==?3?&&?isValid(s))?{??
13?????????????res.add(item?+?s);??
14?????????????return;??
15?????????}??
16?????????for(int?i=0;?i<3?&&?i<s.length()-1;?i++){??
17?????????????String?substr?=?s.substring(0,i+1);??
18?????????????if?(isValid(substr))
19?????????????????dfs(s.substring(i+1,?s.length()),?start+1,?item?+?substr?+?'.',?res);??
20?????????}??
21?????}??
22???????
23?????public?boolean?isValid(String?s){??
24?????????if?(s.charAt(0)=='0')
25?????????????return?s.equals("0");??
26?????????????int?num?=?Integer.parseInt(s);
27?????????????
28?????????if(num?<=?255?&&?num?>?0)
29?????????????return?true;
30?????????else
31?????????????return?false;
32?????}?

?Refrence:http://blog.csdn.net/u011095253/article/details/9158449

?

轉(zhuǎn)載于:https://www.cnblogs.com/springfor/p/3886409.html

總結(jié)

以上是生活随笔為你收集整理的Restore IP Addresses leetcode java的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。