zoukankan      html  css  js  c++  java
  • 力扣(LeetCode)500. 键盘行

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

    示例:

    输入: ["Hello", "Alaska", "Dad", "Peace"]
    输出: ["Alaska", "Dad"]

    注意:

    你可以重复使用键盘上同一字符。
    你可以假设输入的字符串将只包含字母。

    思路 获取每个单词的每个字母,进行所在行的判定,如果该单词所有字母都在同一行,则添加,否则不添加

    java版

    class Solution {
        public String[] findWords(String[] words) {
            List<String> list = new LinkedList<>();
            String q = "qwertyuiopQWERTYUIOP";
            String a = "asdfghjklASDFGHJKL";
            String z = "zxcvbnmZXCVBNM";
            int i,j;
            for(i=0;i<words.length;i++) {
                int len = words[i].length();
                int one=0,two=0,three=0;//单词字母所在的行数
                for(j=0;j<len;j++) {
                    String s = words[i].substring(j,j+1);
                    if(q.contains(s)) {
                        one++;
                    }else if(a.contains(s)) {
                        two++;
                    }else if(z.contains(s)) {
                        three++;
                    }
                }
                // 如果单词每个字母都在同一行,则添加进list
                if(one == len || two == len || three == len) {
                    list.add(words[i]);
                }
            }
            
            return list.toArray(new String[list.size()]);
            
        }
    }
    

    运行结果

  • 相关阅读:
    DS02--线性表
    DS01--抽象数据类型
    C语言最后一次作业--总结报告
    C语言第十一次作业--函数嵌套调用
    你还有很多要学的东西
    Google Guice 系列教程 - 基础实践
    Eclim指令集
    maven入门案例
    从java调用groovy
    linux下安装Groovy环境
  • 原文地址:https://www.cnblogs.com/lick468/p/10669643.html
Copyright © 2011-2022 走看看