美文网首页
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