468. 验证IP地址 - 力扣(LeetCode) (leetcode-cn.com)
思路:最重要的是构建自己的split函数,按照某个符号进行分割,split函数定义如下:
vector<string> split(string s, char c) {
vector<string> ans;
int l = 0;
//寻找分割字符,已分割字符的位置作为子段的末尾位置进行分割
for(int r = 0; r < s.size(); r++) {
if(s[r] == c) {
string x = s.substr(l, r - l);
ans.push_back(x);
l = r + 1;
}
}
//还需要对最后一段进行单独处理
string xLast = s.substr(l, s.size() - l);
ans.push_back(xLast);
return ans;
}
对于IPv4的判断条件:不是4段地址的为假;每段超过三位数为假;每段中的字符不是数字为假;每个字段转换为数字(atoi)后超过255为假