题解 | 数字字符串转化成IP地址
数字字符串转化成IP地址
https://www.nowcoder.com/practice/ce73540d47374dbe85b3125f57727e1e
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s string字符串
* @return string字符串一维数组
*/
function restoreIpAddresses( s ) {
//检验合法性
const result = []
function is_valid(str){
if (str.length >1 && str[0] === '0') {
return false
}
if (parseInt(str) > 255) {
return false
}
return true
}
function backtrack( path , start ) {
if (path.length === 4 && start === s.length) { //此时合法 加入结果中
result.push(path.join('.'))
}
if (path.length === 4) {
return
}
for(let i =1;i<=3;i++) {
if (start + i>s.length) {
break
}
const strChild = s.substring(start,start+i)
if (is_valid(strChild)) {
backtrack([...path,strChild], start+i )
}
}
}
backtrack([],0)
return result
}
module.exports = {
restoreIpAddresses : restoreIpAddresses
};