题目
坑
第一遍做的时候没有考虑到的事:
- path长度为4代表取到四个整数,但同时还要保证已经遍历完整个字符串
这里IP地址有很多限制,先回溯找到再去一个个判断。 ```javascript var restoreIpAddresses = function(s) { let res =[]; let path =[]; let len =s.length;
const backTracing =function(startIndex){
const pathLen =path.length; //path长度动态变化,提前固定if(pathLen >4) return;if(pathLen===4 && startIndex===len){//取到4个整数且遍历完整个字符串!res.push(path.join('.'));return;}for(let i=startIndex;i<len;i++){const str =s.slice(startIndex,i+1);//取出子串来进行判断if(str.length>3||+str>255) break; //直接结束,+一元字符串转Numberif(str.length>1&&str[0]==='0') break;path.push(str);backTracing(i+1);path.pop();}
} backTracing(0); return res;
}; ```
