LeetCode 524.通过删除字母匹配到字典里最长单词

题目

给你一个字符串 s 和一个字符串数组 dictionary ,找出并返回 dictionary 中最长的字符串,该字符串可以通过删除 s 中的某些字符得到。

如果答案不止一个,返回长度最长且字母序最小的字符串。如果答案不存在,则返回空字符串。

思路:双指针

代码

java 复制代码
class Solution {
    public String findLongestWord(String s, List<String> dictionary) {
        String res = "";
        for (String t : dictionary) {
            int i = 0;
            int j = 0;
            while (i < t.length() && j < s.length()) {
                if (t.charAt(i) == s.charAt(j)) {
                    i++;
                }
                j++;
            }
            if (i == t.length()) {
                if (t.length() > res.length() || t.length() == res.length() && t.compareTo(res) < 0) {
                    res = t;
                }
            }
        }
        return res;
    }
}

性能

相关推荐
qq_423233906 分钟前
C++与Python混合编程实战
开发语言·c++·算法
TracyCoder12317 分钟前
LeetCode Hot100(19/100)——206. 反转链表
算法·leetcode
m0_7155753419 分钟前
分布式任务调度系统
开发语言·c++·算法
测试涛叔36 分钟前
金三银四软件测试面试题(800道)
软件测试·面试·职场和发展
naruto_lnq40 分钟前
泛型编程与STL设计思想
开发语言·c++·算法
踩坑记录1 小时前
leetcode hot100 94. 二叉树的中序遍历 easy 递归 dfs
leetcode
zxsz_com_cn1 小时前
设备预测性维护算法分类及优劣势分析,选型指南来了
算法·分类·数据挖掘
Angelina_Jolie2 小时前
一文搞懂 SCI、SSCI、CSSCI、C 刊、核心期刊:定义、作用、层级对比及投稿选择
考研·职场和发展·创业创新
m0_748708052 小时前
C++中的观察者模式实战
开发语言·c++·算法