Fork me on GitHub

LintCode题解之最长单词

 

 

这些一次遍历搞定的,套路无非都是在遍历的时候就记录数据的状态,然后根据遍历到的当前的数据的状态来修改最终结果,当遍历完了的时候结果也就确定了。

public class Solution {
    
    /*
     * @param dictionary: an array of strings
     * @return: an arraylist of strings
     */
    public List<String> longestWords(String[] dictionary) {
        
        int maxLength = Integer.MIN_VALUE;
        List<String> resultList = new ArrayList<>();
        
        for(String s : dictionary){
            if(s.length()>maxLength){
                maxLength = s.length();
                resultList = new ArrayList<>();
                resultList.add(s);
            }else if(s.length()==maxLength){
                resultList.add(s);
            }
        }
        
        return resultList;
    }
    
}

 

题目来源: http://www.lintcode.com/zh-cn/problem/longest-words/

 

posted @ 2017-11-26 04:02  CC11001100  阅读(172)  评论(0编辑  收藏  举报