給定乙個只包含數字的字串,復原它並返回所有可能的 ip 位址格式。
示例:
輸入: "25525511135"輸出:
["255.255.11.135", "255.255.111.35"]
const seg_count = 4
var (
ans string
segments int
)func restoreipaddresses(s string) string
dfs(s, 0, 0)
return ans
}//segstart 對應字串下標
//segid, 對應段數
func dfs(s string, segid, segstart int) }}
return
}// 如果還沒有找到 4 段 ip 位址就已經遍歷完了字串,那麼提前回溯
if segstart == len(s)
// 由於不能有前導零,如果當前數字為 0,那麼這一段 ip 位址只能為 0
if s[segstart] == '0'
// 一般情況,列舉每一種可能性並遞迴
addr := 0
for segend := segstart; segend < len(s); segend++ else
}}
LeetCode 力扣 93 復原IP位址
給乙個字串,輸出所有的可能的 ip 位址,注意一下,01.1.001.1 類似這種 0 開頭的是非法字串。很類似於剛做過的 91 題,對字串進行劃分。這個其實也是劃分,劃分的次數已經確定了,那就是分為 4 部分。那麼就直接用回溯的思想,第一部分可能是 1 位數,然後進入遞迴。第一部分可能是 2 位數...
力扣第93題 復原IP位址
給定乙個只包含數字的字串,復原它並返回所有可能的 ip 位址格式。有效的 ip 位址正好由四個整數 每個整數字於 0 到 255 之間組成 整數之間用 分隔。當字串長度小於4或者大於12時,返回 示例1 輸入 25525511135 輸出 255.255.11.135 255.255.111.35 ...
力扣演算法題 093復原IP位址
給定乙個只包含數字的字串,復原它並返回所有可能的 ip 位址格式。示例 輸入 25525511135 輸出 255.255.11.135 255.255.111.35 1 暴力搜尋2 一共分為4組3 每組資料不超過三位 4class solution 22 23return res 2425 26 ...