Leetcode 93 復原IP位址 C

2021-09-11 02:47:08 字數 489 閱讀 3216

思路:首先應該對ip位址有一定的了解。ip位址是由32位二進位制數表示的,為了方便,通常將32位二進位制數分為4段,然後將每一段表示成為0到255的十進位制數,即通常我們會看到的:***.***.***.***。每一段的數字可以有一位、兩位或三位,範圍是[0,255]。但是需要注意:當只有一位是可以為0,當有兩位或三位時不能為0,即像 00, 01, 001, 011, 000等都是不合法的。

對ip位址有了一定的了解後,再看本題的要求,求解各種可能情況的問題,一般都會考慮到遞迴呼叫。所以本題用k來記錄還剩幾段沒有劃分,當k=0時,輸出可能的結果。用isvalue來判斷當前劃分的字串,是否在區間[0,255]中。具體**如下:

class solution 

void restore(string s,int k,string tmp,vector&ans)

else}}

}bool isvalue(string s)

};

LeetCode93 復原IP位址

首先需要知道ip位址的特性,總共有四段,每段的取值都在 0,255 之間,四段之間用3個 隔開。目標就是如何放置這3個分隔符,使得ip位址是合法的,然後把合法的ip位址記錄下來。方法一 暴力解法。四段的長度都有取1 3的可能性,遍歷所有的情況,記錄合法ip位址。當然類似000,001,00,010這...

leetcode 93 復原IP位址

先判斷字串字串長度是否處於 4,12 然後判斷字串將字串分成從ip位址的第一位進行選擇 ip位址每一位最大為255 最小為0 ip位址的每一位所包含的字串中的位數分別是1 2 3 位 ip位是三位時,要判斷是否大於255 void restore std vector a,std string s,...

LeetCode 93 復原IP位址

給定乙個只包含數字的字串,復原它並返回所有可能的 ip 位址格式。示例 輸入 25525511135 輸出 255.255.11.135 255.255.111.35 只用確認三個點的位置就可以了,所以用三個迴圈來確定點的位置,如果太大了直接continue,如果乙個長度不是1的部分頭部是0,也co...