Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static List<String> search(String word, String part, int pointer, Map<String, String> table) {
- List<String> localList = new ArrayList<>();
- if(pointer == word.length() - 1){
- if(table.containsKey(part)) localList.add(table.get(part));
- return localList;
- }
- if(pointer == word.length() - 2 && part.length() == 2){
- if(table.containsKey(part)) localList.add(table.get(part));
- return localList;
- }
- if(table.containsKey(part)) {
- if(part.length() == 1) {
- localList = search(word, word.substring(pointer + 1, pointer + 2), pointer + 1, table);
- } else if(part.length() == 2) {
- localList = search(word, word.substring(pointer + 2, pointer + 3), pointer + 2, table);
- }
- if(!localList.isEmpty()) localList.add(table.get(part));
- }
- if(localList.isEmpty()) {
- if(part.length() == 1) {
- localList = search(word, word.substring(pointer, pointer + 2), pointer, table);
- if(!localList.isEmpty()) localList.add(table.get(part));
- } else {
- return new ArrayList<>();
- }
- }
- return localList;
- }
Add Comment
Please, Sign In to add comment