133.Longest Words-最长单词(容易题)

来源:互联网 发布:ubuntu rc.local不存在 编辑:程序博客网 时间:2024/05/22 08:03

最长单词

  1. 题目

    给一个词典,找出其中所有最长的单词。

  2. 样例

    在词典
    这里写图片描述
    中, 最长的单词集合为 [“internationalization”]

    在词典
    这里写图片描述
    中,最长的单词集合为 [“like”, “love”, “hate”]

  3. 挑战

    遍历两次的办法很容易想到,如果只遍历一次你有没有什么好办法?

  4. 题解

    先将第一个单词加入列表,然后进行遍历,遇到长度相等的单词则加入列表,遇到长度更大的将列表清空后加入该单词。

class Solution {    /**     * @param dictionary: an array of strings     * @return: an arraylist of strings     */    ArrayList<String> longestWords(String[] dictionary) {        int n = dictionary.length;        ArrayList<String> result = new ArrayList<>();        result.add(dictionary[0]);        for (int i=1;i<n;i++)        {            if (dictionary[i].length() == result.get(0).length())            {                result.add(dictionary[i]);            }            else if (dictionary[i].length() > result.get(0).length())            {                result.clear();                result.add(dictionary[i]);            }        }        return result;    }};

Last Update 2016.9.6

0 0
原创粉丝点击