美文网首页
Leetcode 93-- 递归

Leetcode 93-- 递归

作者: Ariana不会哭 | 来源:发表于2018-12-15 00:05 被阅读0次

知识点:使用ArrayList<String>();
注意这道题的陷阱:010 或者001 用0 开头的是不合法的。
针对这一点使用来回string int转换判断字符串长度是否改变


图片.png
class Solution {
    public List<String> restoreIpAddresses(String s) {
        List<String> ans=new ArrayList<String>();
        helper(s,0,"",ans);
        return ans;
    }
    public void helper(String left,int times, String out,List<String >ans){
        if(times==4){
            if(left.isEmpty())
                ans.add(out);
            return;
        }
        for(int i=1;i<4;i++){
            if(left.length()<i){
                break;
            }
            int val=Integer.parseInt(left.substring(0,i));
            if(val>255|| i != String.valueOf(val).length())
                continue;
            helper(left.substring(i),times+1,out+left.substring(0,i)+(times==3?"":"."),ans);
        }
    }
}

相关文章

网友评论

      本文标题:Leetcode 93-- 递归

      本文链接:https://www.haomeiwen.com/subject/mehwhqtx.html