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

数字字符串转化成IP地址

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

#include <string>
#include <vector>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param s string字符串 
     * @return string字符串vector
     */
    vector<string> restoreIpAddresses(string s) {
        // write code here
        vector<string> ans;
        
        int len = s.size();
        if(len>12)
            return ans;
        // i是第一个数字段结尾下标
        for(int i=0; i+3<len && i<3; ++i)
        {
            int s_1 = stoi(s.substr(0,i+1));
            // 如果该字符段长度大于1,但是首字符为'0',说明有可能是前缀为0的情况,如 "01","010";
            if((i+1>1 && s[0]=='0') || (s_1>255))
                break;

            // j是第二个数字段结尾下标
            for(int j=i+1; j+2<len && j<6; ++j)
            {
                int s_2 = stoi(s.substr(i+1,j-i));
                if((j-i>1 && s[i+1]=='0') || (s_2>255))
                    break;

                // n是第三个数字段结尾下标
                for(int n=j+1; n+1<len && n<9; ++n)
                {
                    int s_3 = stoi(s.substr(j+1,n-j));
                    if((n-j>1 && s[j+1]=='0') || (s_3>255))
                        break;
 
                    // 第四个数字段结尾下标是len-1
                    int s_4 = stoi(s.substr(n+1,len-1-n));
                    if((len-1-n>1 && s[n+1]=='0') || (s_4>255))
                        continue;

                    string str = to_string(s_1) + "." + to_string(s_2) + "."
                                + to_string(s_3) + "." + to_string(s_4);
                    ans.emplace_back(str);
                }
            }
        }

        return ans;
    }
};

虚数五行区解题中心 文章被收录于专栏

非淡泊无以明志,非宁静无以致远

全部评论

相关推荐

不愿透露姓名的神秘牛友
2024-12-30 18:02
程序员牛肉:1.可以标记一下自己的学校是985,有一些hr可能没想到你这个院校是985的。 2.简历所呈现出来的能力还是有点差的,苍穹外卖+黑马点评。这在java技术域里面也就是刚学三四个月的样子,大厂现在招人少,小厂又更加希望你能直接过来干活。就你简历上呈现出来的能力,确实是有点难找,肉眼可见的不懂技术。 第一个项目中:简单的使用redis也算是亮点嘛?使用jwt,threadlocal也算是亮点?你不就是调了几个包嘛?Nginx作为服务器也能写出来,这不是前端的活嘛? 第二个项目中:分布式锁+mq消息队列+Lua队列。真没啥好问的。属于面试官看一眼就阳痿的简历,没有任何想提问的欲望。 我给你建议是好好的挖一挖这个项目吧,其实苍穹外卖和黑马点评这两个项目很不错了,只不过是太烂大街了导致面试官没啥问的兴趣,所以不太推荐写简历上。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务