Java实现 LeetCode 500 键盘行

﹏ヽ暗。殇╰゛Y 2023-07-17 14:05 15阅读 0赞

500. 键盘行

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

在这里插入图片描述

示例:

输入: [“Hello”, “Alaska”, “Dad”, “Peace”]
输出: [“Alaska”, “Dad”]

注意:

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

  1. class Solution {
  2. public String[] findWords(String[] words)
  3. {
  4. String[] rec = new String[3];
  5. rec[0] = "qwertyuiop";
  6. rec[1] = "asdfghjkl";
  7. rec[2] = "zxcvbnm";
  8. List<String> list = new ArrayList<>();
  9. for(String str : words)
  10. {
  11. for(int j = 0; j < 3; j++)
  12. {
  13. boolean flag = true;
  14. for(int k = 0; k < str.length(); k++)
  15. {
  16. char ch = str.charAt(k);
  17. //转换成小写
  18. if(ch >= 'A' && ch <= 'Z')
  19. ch = (char)(ch+32);
  20. //在这一行中找不到这个单词,换下一行
  21. if(rec[j].indexOf(ch) == -1)
  22. {
  23. flag = false;
  24. break;
  25. }
  26. }
  27. if(flag == true)
  28. {
  29. list.add(str);
  30. break;
  31. }
  32. }
  33. }
  34. return list.toArray(new String[]{ });
  35. }
  36. }

发表评论

表情:
评论列表 (有 0 条评论,15人围观)

还没有评论,来说两句吧...

相关阅读