商城网站备案,莘庄网站建设,猎头网站 做猎头的流程,wordpress设置恢复有效 IP 地址 正好由四个整数#xff08;每个整数位于 0 到 255 之间组成#xff0c;且不能含有前导 0#xff09;#xff0c;整数之间用 . 分隔。 例如#xff1a;0.1.2.201 和 192.168.1.1 是 有效 IP 地址#xff0c;但是 0.011.255.24… 有效 IP 地址 正好由四个整数每个整数位于 0 到 255 之间组成且不能含有前导 0整数之间用 . 分隔。 例如0.1.2.201 和 192.168.1.1 是 有效 IP 地址但是 0.011.255.245、192.168.1.312 和 192.1681.1 是 无效 IP 地址。 给定一个只包含数字的字符串 s 用以表示一个 IP 地址返回所有可能的有效 IP 地址这些地址可以通过在 s 中插入 . 来形成。你 不能 重新排序或删除 s 中的任何数字。你可以按 任何 顺序返回答案。 示例 1 输入s 25525511135
输出[255.255.11.135,255.255.111.35]示例 2 输入s 0000
输出[0.0.0.0]示例 3 输入s 101023
输出[1.0.10.23,1.0.102.3,10.1.0.23,10.10.2.3,101.0.2.3]提示 1 s.length 20s 仅由数字组成 class Solution {
public:vectorstring res;int pointNum0;void func(string s,int index){ if(pointNum3){if(isValid(s,index,s.size()-1))//判读第四段的合法性res.push_back(s);return;}for(int iindex;is.size();i){if(isValid(s,index,i)){s.insert(s.begin()i1,.);pointNum;func(s,i2);pointNum--;s.erase(s.begin()i1);}elsebreak;}}bool isValid(string s,int start,int end){if(startend) //防止indexs.size()-1的情况return false;if(s[start]0start!end)return false;int num0;for(int istart;iend;i){if(s[i]9||s[i]0)return false;numnum*10(s[i]-0);if(num255)return false;}return true;}vectorstring restoreIpAddresses(string s) {if(s.size()4||s.size()12)return res;func(s,0);return res;}
};