LeetCode【17】

I did not do it

Do not say, soon to be a little cry, have time tomorrow to do

import java.util.*;

class Solution {

    public List<String> letterCombinations(String digits) {
        Map<Integer, String> map = new HashMap<>();
        map.put(2, "abc");
        map.put(3, "def");
        map.put(4, "ghi");
        map.put(5, "jkl");
        map.put(6, "mno");
        map.put(7, "pqrs");
        map.put(8, "tuv");
        map.put(9, "wxyz");
        StringBuilder sb = new StringBuilder();
        StringBuilder digit = new StringBuilder(digits);
        ArrayList arrayList = new ArrayList();
        for (int i = 0; i < digit.length() - 1; i++) {
            for (int i1 = i + 1; i1 < digit.length(); i1++) {
                if (digit.charAt(i) == digit.charAt(i1)) {
                    if (!new String(sb).contains(digit.charAt(i1) + "")) {
                        sb.append(digit.charAt(i1));
                    }
                    digit.deleteCharAt(i1);
                }
            }
        }
        System.out.println(digit);
        for (int i = 0; i < digit.length() - 1; i++) {
            for (int i1 = i + 1; i1 < digit.length(); i1++) {
                for (int i2 = 0; i2 < map.get(Integer.parseInt(digit.charAt(i) + "")).length(); i2++) {
                    for (int i3 = 0; i3 < map.get(Integer.parseInt(digit.charAt(i1) + "")).length(); ++i3) {
                        arrayList.add(map.get(Integer.parseInt(digit.charAt(i) + "")).charAt(i2) + "" + map.get(Integer.parseInt(digit.charAt(i1) + "")).charAt(i3));
                    }
                }

            }
        }
        for (int i = 0; i < sb.length(); i++) {
            for (int i1 = 0; i1 < map.get(Integer.parseInt(sb.charAt(i) + "")).length(); i1++) {
                arrayList.add(map.get(Integer.parseInt(sb.charAt(i) + "")).charAt(0) + "" + map.get(Integer.parseInt(sb.charAt(i) + "")).charAt(i1));
                arrayList.add(map.get(Integer.parseInt(sb.charAt(i) + "")).charAt(1) + "" + map.get(Integer.parseInt(sb.charAt(i) + "")).charAt(i1));
                arrayList.add(map.get(Integer.parseInt(sb.charAt(i) + "")).charAt(2) + "" + map.get(Integer.parseInt(sb.charAt(i) + "")).charAt(i1));
            }
        }
        return arrayList;
    }
}
public class day_16 {
    public static void main(String[] args) {
        System.out.println(new Solution().letterCombinations("23"));
    }

}

Here Insert Picture Description

Guess you like

Origin blog.csdn.net/u012385160/article/details/89524777