遍历,判断它的所有字串是否存在,可以用set来存储所有元素从而方便判断。可以先把数组排好序,这样免去了对于相同长度的字符串还要比较先后的麻烦。
class Solution {
HashSet<String> set = new HashSet<>();
public String longestWord(String[] words) {
Arrays.sort(words);
for(String str:words){
set.add(str);
}
int len = Integer.MIN_VALUE;
String res = "";
for(String s : words){
if(isExist(s) && s.length()>len){
res = s;
len = s.length();
}
}
return res;
}
public boolean isExist(String s){
String sb = "";
for(int i = 0;i<s.length()-1;i++){
sb += s.charAt(i);
if(!set.contains(sb)){
return false;
}
}
return true;
}
}