class Solution {
/**
* @param dictionary: an array of strings
* @return: an arraylist of strings
*/
ArrayList<String> longestWords(String[] dictionary) {
int n=dictionary.length;
int m=dictionary[0].length();
ArrayList<String> list=new ArrayList<String>();
list.add(dictionary[0]);
for(int i=1;i<n;i++){
if(dictionary[i].length()>m){
list.removeAll(list);
list.add(dictionary[i]);
m=dictionary[i].length();
}
else if(dictionary[i].length()==m){
list.add(dictionary[i]);
}
}
return list;
}
}
特别要注意开始自己犯的一些错误:
1. m=dictionary[i].length();写成了 m=dictionary[i].length;
2. if...if与if...else if区别
if(a)
b;
if(c)
d;//两个if都会进入判断。
if(a)
b;
else if(c)
d;//当满足a的时候就不进入到c的判断,不满足a时,才会去判断c
lintcode133最长单词(字符串处理easy)
最新推荐文章于 2021-04-09 08:34:55 发布