【算法】【线性表】【数组】最长单词

1  题目

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

样例 1:
	输入:   {
		"dog",
		"google",
		"facebook",
		"internationalization",
		"blabla"
		}
	输出: ["internationalization"]



样例 2:
	输入: {
		"like",
		"love",
		"hate",
		"yes"		
		}
	输出: ["like", "love", "hate"]

2  解答

复制代码
public class Solution {
    /*
     * @param dictionary: an array of strings
     * @return: an arraylist of strings
     */
    public List<String> longestWords(String[] dictionary) {
        // write your code here
        List<String> resList = new ArrayList<>();
        if (dictionary == null || dictionary.length == 0) {
            return resList;
        }
        int maxLen = dictionary[0].length();
        resList.add(dictionary[0]);
        for (int i=1; i<dictionary.length; i++) {
            String str = dictionary[i];
            if (str.length() < maxLen) continue;
            if (str.length() == maxLen) {
                resList.add(str);
                continue;
            }
            maxLen = str.length();
            resList.clear();
            resList.add(str);
        }
        return resList;
    }
}
复制代码

加油

posted @   酷酷-  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示