题目

image.png

第一遍做的时候没有考虑到的事:

  1. path长度为4代表取到四个整数,但同时还要保证已经遍历完整个字符串
  2. 这里IP地址有很多限制,先回溯找到再去一个个判断。 ```javascript var restoreIpAddresses = function(s) { let res =[]; let path =[]; let len =s.length;

    const backTracing =function(startIndex){

    1. const pathLen =path.length; //path长度动态变化,提前固定
    2. if(pathLen >4) return;
    3. if(pathLen===4 && startIndex===len){
    4. //取到4个整数且遍历完整个字符串!
    5. res.push(path.join('.'));
    6. return;
    7. }
    8. for(let i=startIndex;i<len;i++){
    9. const str =s.slice(startIndex,i+1);//取出子串来进行判断
    10. if(str.length>3||+str>255) break; //直接结束,+一元字符串转Number
    11. if(str.length>1&&str[0]==='0') break;
    12. path.push(str);
    13. backTracing(i+1);
    14. path.pop();
    15. }

    } backTracing(0); return res;

}; ```