一段去年写的代码

疫情期间太闲鱼了,记一段去年写的代码吧

 /**
     * 递归将名字拼音排列组合
     *
     * @param temp      暂存名字
     * @param nameList  结果集
     * @param entryList 名字集合
     * @param i         递归次数
     * @return
     */
    private static void addLastName(String temp, List nameList, List>> entryList, int i) {
        if (entryList.size() > i) {
            for (String str : entryList.get(i).getValue()) {
                if (i == entryList.size()) {
                    temp = "";
                }
                temp += str;

                // 递归
                addLastName(temp, nameList, entryList, ++i);
                if (i == entryList.size()) {
                    nameList.add(temp);
                }
                // 减掉最后一层被保存的str
                temp = temp.substring(0, temp.length() - str.length());
                // 控制递归层级
                i--;
            }
        }
    }

你可能感兴趣的:(递归,算法,递归法,算法)