Leetcode93 复原IP地址

class Solution {
    private List<String> res = new ArrayList<>();
    public List<String> restoreIpAddresses(String s) {
        if(s.length() < 4) return res;
        dfs(new StringBuilder(), s, 0, 0);
        return res;
    }

    public void dfs(StringBuilder sb, String s,int start,int point){
        if(point > 4) return;
        if(point == 4 && start == s.length()) {
            res.add(sb.toString().substring(1));
            return;
        }
        for(int i = start; i < s.length() && i - start < 3; i++){
            String temp = s.substring(start,i+1);
            if(temp.charAt(0) == '0' && temp.length()>1) return ;
            if(Integer.parseInt(temp) <= 255){
                sb.append("."+temp);
                dfs(sb,s,i+1,point +1);
                sb.delete(sb.lastIndexOf("."),sb.length());
            }
        }
    }
}
全部评论

相关推荐

双尔:反手回一个很抱歉,经过慎重考虑,您与我的预期暂不匹配,感谢您的投递
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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