LintCode_133_最长单词

来源:互联网 发布:淘宝店铺负责人更改 编辑:程序博客网 时间:2024/06/11 17:27

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

样例

在词典

{  "dog",  "google",  "facebook",  "internationalization",  "blabla"}

中, 最长的单词集合为 ["internationalization"]

在词典

{  "like",  "love",  "hate",  "yes"}

中,最长的单词集合为 ["like", "love", "hate"]

挑战 

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

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


0 0
原创粉丝点击