500-键盘行

Posted angelica-duhurica

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了500-键盘行相关的知识,希望对你有一定的参考价值。

500-键盘行

给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。

    public String[] findWords(String[] words) {
        ArrayList<String> res = new ArrayList<>();
        for (String word : words) {
            if (isSameLine(word)) {
                res.add(word);
            }
        }
        return res.toArray(new String[0]);
    }

    private boolean isSameLine(String word) {
        char st = word.charAt(0);
        String line = whichLine(st);
        for (char c : word.toCharArray()) {
            if (!line.contains(String.valueOf(c))) {
                return false;
            }
        }
        return true;
    }

    private String whichLine(char st) {
        String l1 = "QWERTYUIOPqwertyuiop";
        String l2 = "ASDFGHJKLasdfghjkl";
        String l3 = "ZXCVBNMzxcvbnm";
        if (l1.contains(String.valueOf(st))) {
            return l1;
        } else if (l2.contains(String.valueOf(st))) {
            return l2;
        } else {
            return l3;
        }
    }

// 改成indexOf函数

    public String[] findWords(String[] words) {
        ArrayList<String> res = new ArrayList<>();
        for (String word : words) {
            if (isSameLine(word)) {
                res.add(word);
            }
        }
        return res.toArray(new String[0]);
    }

    private boolean isSameLine(String word) {
        char st = word.charAt(0);
        String line = whichLine(st);
        for (char c : word.toCharArray()) {
            if (line.indexOf(c) < 0) {
                return false;
            }
        }
        return true;
    }

    private String whichLine(char st) {
        String l1 = "QWERTYUIOPqwertyuiop";
        String l2 = "ASDFGHJKLasdfghjkl";
        String l3 = "ZXCVBNMzxcvbnm";
        if (l1.indexOf(st) >= 0) {
            return l1;
        } else if (l2.indexOf(st) >= 0) {
            return l2;
        } else {
            return l3;
        }
    }

以上是关于500-键盘行的主要内容,如果未能解决你的问题,请参考以下文章

500-键盘行

LeetCode 500 键盘行[遍历] HERODING的LeetCode之路

500. 键盘行

LeetCode-500-键盘行

力扣(LeetCode)500. 键盘行

python leetcode练习(500.键盘行)