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

数字字符串转化成IP地址

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

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param s string字符串 
     * @return string字符串ArrayList
     */
    ArrayList<String> path = new ArrayList<>();
    ArrayList<String> ans = new ArrayList<>();
    HashSet<String> hashset = new HashSet<>();//保存“0”-“255”字符串
    public ArrayList<String> restoreIpAddresses (String s) {
        for(int i = 0; i < 256; i++){
            hashset.add(String.valueOf(i));
        }
        back_tracking(s,0);
        return ans;
    }
    public void back_tracking(String s, int starIndex){
        if(path.size() > 4){
            return;
        }
        if(path.size() == 4 && starIndex >= s.length()){
            String res = path.get(0);
            for(int i = 1; i < 4; i++){
                res += ".";
                res += path.get(i);
            }
            ans.add(res);
            return;
        }
        for(int i = starIndex; i < s.length(); i++){
            String str = s.substring(starIndex,i+1);
            if (!hashset.contains(str)){
                return;
            }else{
                path.add(str);
                back_tracking(s,i+1);
                path.remove(path.size()-1);
            }
        }
    }
}

全部评论

相关推荐

可以不说话:笔试a了3道半,今天说是挂了😭😭
投递汇丰科技等公司6个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务