比较版本号

39 阅读1分钟

比较版本号

`class Solution { List ans = new ArrayList(); List tmpList = new ArrayList();

public List<String> restoreIpAddresses(String s) {
    dfs(s, 0, 4);
    return ans;
}

public void dfs(String s, int i, int k) {
    if (k == 0) {
        if (i == s.length()) {
            ans.add(String.join(".", tmpList));
        }
        return;
    }

    for (int j = i; j < s.length() && j < i + 3; j++) {
        if (s.charAt(i) == '0' && j > i) {
            return;
        }
        int value = Integer.parseInt(s.substring(i, j + 1));
        if (value >= 0 && value <= 255) {
            tmpList.add(s.substring(i, j + 1));
            dfs(s, j + 1, k - 1);
            tmpList.remove(tmpList.size() - 1);
        }
    }
}

}`