524. 通过删除字母匹配到字典里最长单词
题目描述
解题思路
双指针一次判断数组中的单词是否匹配,满足时只有长度更长或通长度字典序更小才更新答案。
代码实现
class Solution:
def findLongestWord(self, s: str, dictionary: List[str]) -> str:
# dictionary = sorted(dictionary)
res = ""
for val in dictionary:
s_ptr = v_ptr = 0
while s_ptr < len(s) and v_ptr < len(val):
if s[s_ptr] == val[v_ptr]:
v_ptr += 1
s_ptr += 1
if v_ptr == len(val):
# 长度更长或者同长度字典序更小
if len(val) > len(res) or (len(val) == len(res) and val < res):
res = val
return res