同城旅行第一题,累死了

public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param digits string字符串 输入的号码
     * @return string字符串ArrayList
     */
    ArrayList<String> list = new ArrayList<>();
    public ArrayList<String> letterCombinations (String digits) {
        letterCombinations(digits.toCharArray());
        return list;
    }

    public void letterCombinations (char[] digits) {
        if (digits.length == 1) {
            char c = digits[0];
            if (c == '2') {
                list.add("a");
                list.add("b");
                list.add("c");
            } else if (c == '3') {
                list.add("d");
                list.add("e");
                list.add("f");
            } else if (c == '4') {
                list.add("g");
                list.add("h");
                list.add("i");
            } else if (c == '5') {
                list.add("j");
                list.add("k");
                list.add("l");
            } else if (c == '6') {
                list.add("m");
                list.add("n");
                list.add("o");
            } else if (c == '7') {
                list.add("p");
                list.add("q");
                list.add("r");
                list.add("s");
            } else if (c == '8') {
                list.add("t");
                list.add("u");
                list.add("v");
            } else if (c == '9') {
                list.add("w");
                list.add("x");
                list.add("y");
                list.add("z");
            }
            return;
        }
        char[] chars = new char[digits.length - 1];
        for (int i = 0; i < digits.length - 1; i++) {
            chars[i] = digits[i+1];
        }
        letterCombinations(chars);
        char c = digits[0];
        if (c == '2') {
            ArrayList<String> temp = new ArrayList<>();
            for (int j = 0; j < list.size(); j++) {
                temp.add("a" + list.get(j));
            }
            for (int j = 0; j < list.size(); j++) {
                temp.add("b" + list.get(j));
            }
            for (int j = 0; j < list.size(); j++) {
                temp.add("c" + list.get(j));
            }
            list = temp;
        } else if (c == '3') {
            ArrayList<String> temp = new ArrayList<>();
            for (int j = 0; j < list.size(); j++) {
                temp.add("d" + list.get(j));
            }
            for (int j = 0; j < list.size(); j++) {
                temp.add("e" + list.get(j));
            }
            for (int j = 0; j < list.size(); j++) {
                temp.add("f" + list.get(j));
            }
            list = temp;
        } else if (c == '4') {
            ArrayList<String> temp = new ArrayList<>();
            for (int j = 0; j < list.size(); j++) {
                temp.add("g" + list.get(j));
            }
            for (int j = 0; j < list.size(); j++) {
                temp.add("h" + list.get(j));
            }
            for (int j = 0; j < list.size(); j++) {
                temp.add("i" + list.get(j));
            }
            list = temp;
        } else if (c == '5') {
            ArrayList<String> temp = new ArrayList<>();
            for (int j = 0; j < list.size(); j++) {
                temp.add("j" + list.get(j));
            }
            for (int j = 0; j < list.size(); j++) {
                temp.add("k" + list.get(j));
            }
            for (int j = 0; j < list.size(); j++) {
                temp.add("l" + list.get(j));
            }
            list = temp;
        } else if (c == '6') {
            ArrayList<String> temp = new ArrayList<>();
            for (int j = 0; j < list.size(); j++) {
                temp.add("m" + list.get(j));
            }
            for (int j = 0; j < list.size(); j++) {
                temp.add("n" + list.get(j));
            }
            for (int j = 0; j < list.size(); j++) {
                temp.add("o" + list.get(j));
            }
            list = temp;
        } else if (c == '7') {
            ArrayList<String> temp = new ArrayList<>();
            for (int j = 0; j < list.size(); j++) {
                temp.add("p" + list.get(j));
            }
            for (int j = 0; j < list.size(); j++) {
                temp.add("q" + list.get(j));
            }
            for (int j = 0; j < list.size(); j++) {
                temp.add("r" + list.get(j));
            }
             for (int j = 0; j < list.size(); j++) {
                temp.add("s" + list.get(j));
            }
            list = temp;
        } else if (c == '8') {
            ArrayList<String> temp = new ArrayList<>();
            for (int j = 0; j < list.size(); j++) {
                temp.add("t" + list.get(j));
            }
            for (int j = 0; j < list.size(); j++) {
                temp.add("u" + list.get(j));
            }
             for (int j = 0; j < list.size(); j++) {
                temp.add("v" + list.get(j));
            }
            list = temp;
        } else if (c == '9') {
            ArrayList<String> temp = new ArrayList<>();
            for (int j = 0; j < list.size(); j++) {
                temp.add("w" + list.get(j));
            }
            for (int j = 0; j < list.size(); j++) {
                temp.add("x" + list.get(j));
            }
             for (int j = 0; j < list.size(); j++) {
                temp.add("y" + list.get(j));
            }
            for (int j = 0; j < list.size(); j++) {
                temp.add("z" + list.get(j));
            }
            list = temp;
        }
    }
}

全部评论
lc原题
点赞
送花
回复
分享
发布于 2023-10-12 20:34 陕西

相关推荐

在计算机网络中,Session(会话)是指客户端和服务器之间的一段交互时间。它开始于客户端向服务器发送请求,并一直持续到服务器响应完成。&nbsp;Session通常用于维护特定用户在一段时间内的状态和信息。在前端实现基于Session的身份验证,通常的步骤如下:https://www.nowcoder.com/issue/tutorial?zhuanlanId=Mg58Em&amp;uuid=02b1742be4564f04b7e1bdf3b39333d7登录验证:用户通过提供用户名和密码进行登录。前端将用户输入的凭据发送到服务器,服务器进行验证,如果验证通过,则生成一个唯一的会话标识符(Session&nbsp;ID)。存储Session&nbsp;ID:服务器将生成的Session&nbsp;ID返回给前端,前端通常会将Session&nbsp;ID保存在Cookie中或使用其他方式存储,以便在后续的请求中发送给服务器。另外,还可以将Session&nbsp;ID存储在本地存储(如localStorage)或会话存储(如sessionStorage)中。身份验证:在后续的请求中,前端需要将Session&nbsp;ID包含在每个请求中,通常通过将其作为Cookie的值发送。服务器接收到请求后,会通过验证Session&nbsp;ID来识别用户,并判断用户是否已经通过登录验证。会话管理:服务器通过Session&nbsp;ID来获取与该用户关联的会话数据。会话数据可以存储在服务器的内存中、数据库中或缓存中,用于存储用户状态、权限信息等。服务器可以根据Session&nbsp;ID进行相关操作,如更新会话状态、获取用户信息等。
点赞 评论 收藏
转发
1 收藏 评论
分享
牛客网
牛客企业服务