給定乙個只包含數字的字串,復原它並返回所有可能的 ip 位址格式。
有效的 ip 位址正好由四個整數(每個整數字於 0 到 255 之間組成),整數之間用 『.』 分隔。
當字串長度小於4或者大於12時,返回
示例1:
輸入: 「25525511135」
輸出: [「255.255.11.135」, 「255.255.111.35」]
使用遞迴求解:將數字依次拆成1位數、2位數和3位數進行組合,當剩餘數字滿足條件時,繼續遞迴
// 參考大佬**,關鍵點:陣列深拷貝,檢查傳入方法字串是否合法
varrestoreipaddresses
=function
(str)
;function
setitem
(str,tmp,result)
for(
let i =
1;i<
4;i++)}
function
check
(str)
(1) 字串中的擷取方法只有類似於陣列slice()複製方法,但是都不會影響到陣列本身;
擷取方法1:slice()
跟陣列slice()方法一樣,slice(startindex,endindex)。複製出來的字串包含start但是不包含endindex
擷取方法2: substring()
提取從 indexstart 到 indexend(不包括)之間的字元
(2)使用遞迴時最好不要使用固定變數,而是將變數作為值傳入函式中,除非時返回值(類似於例子中的tmp)
LeetCode 力扣 93 復原IP位址
給乙個字串,輸出所有的可能的 ip 位址,注意一下,01.1.001.1 類似這種 0 開頭的是非法字串。很類似於剛做過的 91 題,對字串進行劃分。這個其實也是劃分,劃分的次數已經確定了,那就是分為 4 部分。那麼就直接用回溯的思想,第一部分可能是 1 位數,然後進入遞迴。第一部分可能是 2 位數...
力扣刷題筆記 93 復原IP位址 C
今日簽到題,題目如下 給定乙個只包含數字的字串,復原它並返回所有可能的 ip 位址格式。有效的 ip 位址正好由四個整數 每個整數字於 0 到 255 之間組成 整數之間用 分隔。示例 輸入 25525511135 輸出 255.255.11.135 255.255.111.35 想了許久,想不到什...
力扣 復原IP位址
給定乙個只包含數字的字串,復原它並返回所有可能的 ip 位址格式。示例 輸入 25525511135 輸出 255.255.11.135 255.255.111.35 const seg count 4 var ans string segments int func restoreipaddres...