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

数字字符串转化成IP地址

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

#include <string>
#include <vector>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param s string字符串 
     * @return string字符串vector
     */
    vector<string>data;
    void restoreIp(string s,int num,string q) {
        if(s.size()==0){
            if(num==0){
            q.pop_back();
            data.push_back(q);
            return;}
            else {
            return;
            }
        }
        if(s[0]!='0'){
        restoreIp(s.substr(1),num-1,q+string(1,s[0])+".");
        if(s.size()>=2)
        restoreIp(s.substr(2),num-1,q+string(1,s[0])+string(1,s[1])+".");
        if(stoi(s.substr(0,3))<=255 and s.size()>=3)
        restoreIp(s.substr(3),num-1,q+string(1,s[0])+string(1,s[1])+string(1,s[2])+".");
        }
        else
        restoreIp(s.substr(1),num-1,q+string(1,s[0])+".");
    }
    vector<string> restoreIpAddresses(string s) {
        string q="";
        if(s.size()>=4)
        restoreIp(s,4,q);
        return data;
    }
};

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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