leetcode.93复原IP地址

给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。

示例:

输入: "25525511135"
输出: ["255.255.11.135", "255.255.111.35"]

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/restore-ip-addresses
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

对每个可能的分割进行判断

class Solution {
public:
int t(string q){
	int s=0,o;
	if(q[0]=='0'&&q.length()>1){
		return 256;
	}
	for(o=0;o<q.length();o++){
		s*=10;
		s+=q[o]-'0';
	}
	return s;
}
    vector<string> restoreIpAddresses(string s) {
        int i,j,k,l;
vector<int> a;
vector<string> res;
string q="";
		for(i=0;i<=2&&i<s.length()-3;i++){
			for(j=i+1;j<=i+3&&j<s.length()-2;j++){
				for(k=j+1;k<=j+3&&k<s.length()-1;k++){
					if(s.length()-k<=4&&t(s.substr(0,i+1))<=255&&t(s.substr(i+1,j-i))<=255&&t(s.substr(j+1,k-j))<=255&&t(s.substr(k+1,s.length()-k))<=255){
					q+=((s.substr(0,i+1)));
                    q+=".";
					q+=((s.substr(i+1,j-i)));
                    q+=".";
					q+=((s.substr(j+1,k-j)));
                    q+=".";
					q+=((s.substr(k+1,s.length()-k)));
					res.push_back(q);
					q="";
				}}
			}
		}
        return res;
    }
};

  

猜你喜欢

转载自www.cnblogs.com/hyffff/p/12433086.html
今日推荐