- 题目描述
给定一个字符串和一个字符串字典,找到字典里面最长的字符串,该字符串可以通过删除给
定字符串的某些字符来得到。如果答案不止一个,返回长度最长且字典顺序最小的字符串。
如果答案不存在,则返回空字符串。
- 题解
对每一个字符串字典中的字符串均判断能不能通过删除给定字符串的某些字符得到即可。
- 代码
class Solution {
public:
bool isFound(string s,string t){
int p=0,sLen=s.size(),q=0,tLen=t.size();
while (p<sLen&&q<tLen){
if (s[p]==t[q]) q++;
p++;
}
return q==tLen;
}
string findLongestWord(string s, vector<string>& d) {
string res="";
for (string t:d){
if (isFound(s,t)){
if (t.size()>res.size()) res=t;
else if (t.size()==res.size()&&t<res) res=t;
}
}
return res;
}
};