Leetcode刷题记2021.9.14 - 524

1.每日吐槽

。。。wc今天的任务真多,满课还要带人开班会,下午上完课健完身吃完洗完,打了两把云顶就21点半了,写完昨天的网络完全实验报告就22:30,时间不够用啊,wc。。。。赶紧干完leetcode每日一题,还没洗衣服。。。。。。,没时间肝其他的leetcode题了,哭腔。。。。。,还有些作业堆着,自学的网络攻防网课还没开始,准备国庆之后开始搞,哇。。。时间真的不够啊。。。。。

2.每日一题

在这里插入图片描述


public class Solution524 {
    public String findLongestWord(String s, List<String> dictionary) {
        Collections.sort(dictionary, new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                if(o1.length() != o2.length()){             //按照长度从大到小排列
                    return o2.length() - o1.length();
                }else {             //按照字典序从小到大排列
                    return o1.compareTo(o2);
                }
            }
        });
        int len = dictionary.size();
        for(int i = 0;i < len;i++){
            //对于每个dictionary内的字符串进行判断,是否可以由s删除某些字母得到
            int p1 = 0;     //指向s下标
            int p2 = 0;     //指向dictionary内字符串的下标
            int sLen = s.length();
            String dir = dictionary.get(i);
            int dicLen = dir.length();
            while (p1 < sLen && p2 < dicLen){//循环判断
                if(s.charAt(p1) == dir.charAt(p2)){
                    p2++;
                }
                p1++;
            }
            if(p2 == dicLen){
                return dir;
            }
        }
        return "";
    }
}

今天的每日一题还算是简单,速度解决,收工,下次多肝几题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值