Split String
public class Solution {
/*
* @param : a string to be split
* @return: all possible split string array
*/
public List<List<String>> splitString(String s) {
List<List<String>> result = new ArrayList<>();
helper(s, 0, new ArrayList<>(), result);
return result;
}
private void helper(String s, int index, List<String> current, List<List<String>> result) {
if (index == s.length()) {
result.add(new ArrayList<>(current));
return;
}
// Option 1
current.add(String.valueOf(s.charAt(index)));
helper(s, index + 1, current, result);
current.remove(current.size() - 1);
// Option 2
if (index < s.length() - 1) {
current.add(s.substring(index, index + 2));
helper(s, index + 2, current, result);
current.remove(current.size() - 1);
}
}
}
最后更新于
这有帮助吗?