vector<string> restoreIpAddresses(string s) {
int len = s.length();
vector<string> res;
for(int i=1; i<4 && len -2; i++)//第一个.前
{
for(int j=i+1; j<i+4 && j < len-1; j++)//第二个.前
{
for(int k=j+1; k<j+4 && k < len; k++)//第三个点前
{
if(len - k >= 4)//最后数字不能超过3
{
continue;
}
string a = s.substr(0, i);
string b = s.substr(i, j-i);
string c = s.substr(j, k-j);
string d = s.substr(k);
//IP每个数字不大于255
if(stoi(a) > 255 || stoi(b) > 255 || stoi(c) > 255 || stoi(d) > 255)
continue;
//排除前导0的情况
if((a.length() != 1 && a[0] == '0') || (b.length() != 1 && b[0] == '0') || (c.length() != 1 && c[0] == '0') || (d.length() != 1 && d[0] == '0'))
continue;
string temp = a + "." + b + "." + c + "." + d;
res.push_back(temp);
}
}
}
return res;
}
刷题——字符串转IP地址
最新推荐文章于 2024-11-06 11:05:01 发布