LeetCode 93 復原 IP 位址

2022-09-19 10:00:11 字數 1452 閱讀 1714

93. 復原 ip 位址

有效 ip 位址正好由四個整數(每個整數字於0255之間組成,且不能含有前導0),整數之間用'.'分隔。

給定乙個只包含數字的字串s,用以表示乙個 ip 位址,返回所有可能的有效 ip 位址,這些位址可以通過在s中插入'.'來形成。你不能重新排序或刪除s中的任何數字。你可以按任何順序返回答案。

示例 1:

輸入:s = "25525511135"

輸出:["255.255.11.135","255.255.111.35"]

示例 2:

輸入:s = "0000"

輸出:["0.0.0.0"]

示例 3:

輸入:s = "1111"

輸出:["1.1.1.1"]

示例 4:

輸入:s = "010010"

輸出:["0.10.0.10","0.100.1.0"]

示例 5:

輸入:s = "101023"

輸出:["1.0.10.23","1.0.102.3","10.1.0.23","10.10.2.3","101.0.2.3"]

本題最容易想到的就是使用回溯的思想,依次遞增位置變數來指示現在處理到的位置,直到遇到字串結尾。

此外,需要設定乙個cnt計數器來表示ip位址目前的第幾個部分,只有當cnt == 4且遍歷到原串結尾時才表示找到了符合條件的ip位址。

本題需要注意的是,合規的ip位址是不能包含前導0的,所以這裡需要在**中做一點額外的處理。

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...