题解 | #数字字符串转化成IP地址#

数字字符串转化成IP地址

https://www.nowcoder.com/practice/ce73540d47374dbe85b3125f57727e1e

#include <string>
#include <vector>
class Solution {
public:

    vector<string> restoreIpAddresses(string s) {
        // write code here
        int n = s.size();
        vector<string> ans;
        string temp;
        //首先利用三个for找到分割点,同时进行判断
        for(int i = 1; i <= n - 3; i ++){
            for(int j = i + 1; j <= n - 2; j++){
                for(int k = j + 1; k <= n - 1; k++){
                    string ip1 = s.substr(0, i);
                    if(stoi(ip1) > 255 || (ip1.size() != 1 &&ip1[0] == '0')) continue;

                    string ip2 = s.substr(i, j - i );
                    if(stoi(ip2) > 255 || (ip2.size() != 1 &&ip2[0] == '0')) continue;

                    string ip3 = s.substr(j, k - j);
                    if(stoi(ip3) > 255 || (ip3.size() != 1 && ip3[0] == '0')) continue;

                    string ip4 = s.substr(k);
                    if(stoi(ip4) > 255 || (ip4.size() != 1 &&ip4[0] == '0')) continue;

                    temp = ip1 + '.' + ip2 + '.' + ip3 + '.' + ip4;
                    ans.push_back(temp);
                }
            }
        }
        return ans;
    }
};

全部评论

相关推荐

10-22 12:03
山东大学 Java
程序员小白条:26届一般都得有实习,项目可以随便写的,如果不是开源社区的项目,随便包装,技术栈也是一样,所以本质应该找学历厂,多投投央国企和银行,技术要求稍微低一点的,或者国企控股那种,纯互联网一般都得要干活
应届生简历当中,HR最关...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务