给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。
示例:
输入: “25525511135”
输出: [“255.255.11.135”, “255.255.111.35”]
/**
* @param {string} s
* @return {string[]}
*/
var restoreIpAddresses = function(s) {
let func = funcBody()
func.figureItOut(s, [])
return func.re
};
function funcBody() {
let re= []
function figureItOut(str, arr) {
if (!str.length && arr.length == 4) {
re.push(arr.join('.'))
return
}
if (arr.length == 4 ) {
return
}
let tp = '', tps = str.split('')
for(let i = 0; i< 3; i++) {
tp = tps.pop()+tp
if (legal(tp)) {
let tpa = arr.slice()
tpa.unshift(tp)
figureItOut(tps.join(''), tpa)
}
}
}
return {
figureItOut,
re
}
}
function legal(num) {
if (Number(num) < 256 && Number(num).toString() == num) {
return true
}
return false
}
版权声明:本文为keyj1996原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。