美文网首页
leetcode 93. Restore IP Addresse

leetcode 93. Restore IP Addresse

作者: 哲哲哥 | 来源:发表于2017-12-08 16:31 被阅读0次

Given a string containing only digits, restore it by returning all possible valid IP address combinations.

For example:

Given "25525511135",
return ["255.255.11.135", "255.255.111.35"]. (Order does not matter)

和上面一题的思想相同

public class Solution93 {
    static LinkedList<LinkedList<String>> ans = new LinkedList<LinkedList<String>>();

    public void restoreIpAddresses(String s, LinkedList<String> list3, int n) {
        if (n > 4) {
            return;  //如果分段超过4端就不符合了
        }
        if (s == null || s.equals("*")) {
            LinkedList<String> list1 = new LinkedList<>();
            for (String string : list3) {
                list1.add(string);
            }
            ans.add(list1);
            return;
        }
        for (int i = 1; i < s.length(); i++) {
            String str = s.substring(0, i);
            if (isValid(str)) { //str是否符合理 比如2555就不合理
                list3.add(str);
                String res = s.substring(i, s.length());
                restoreIpAddresses(res, list3, n + 1);
                list3.pollLast();
            }
        }
    }

    private Boolean isValid(String str) {
        if (str.length() > 3 || str.length() <= 0) {
            return false;
        }
        int a = Integer.parseInt(str);
        if (a <= 255 && a > 0) {
            return true;
        }
        return false;
    }

    public static void main(String[] args) {
        String s = "25525511135*";
        LinkedList<String> list3 = new LinkedList<>();
        new Solution93().restoreIpAddresses(s, list3, 0);
        System.out.println(ans);
    }
}

相关文章

网友评论

      本文标题:leetcode 93. Restore IP Addresse

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