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

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

    public static String findLongestWord(String s, List<String> dictionary) {
        String result = "";
        for (String str : dictionary) {
            if (str.length() > result.length() && check(str, s)) {
                result = str;
            } else if (str.length() == result.length()  && check(str, s) && result.compareTo(str) > 0) {
                result = str;
            }
        }
        return result;
    }

    private static boolean check(String str, String s) {
        int index = 0;
        char[] charArray = str.toCharArray();
        for (char character : charArray) {
            if (index == s.length()) {
                return false;
            }
            boolean flag = false;
            while (index < s.length()) {
                if (s.charAt(index) == character) {
                    index++;
                    flag = true;
                    break;
                }
                index++;
            }
            if (!flag) {
                return false;
            }
        }
        return true;
    }

解题思路:

  • LOW的我基本没有发现什么解题技巧;
  • 主要就是判断数组中的字符串是否在给定的长串中;
  • 然后在比较字典序
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longes...
    xialu阅读 174评论 0 0
  • 问题描述:【Two Pointers】524. Longest Word in Dictionary throug...
    牛奶芝麻阅读 547评论 0 0
  • 算法思想贪心思想双指针排序快速选择堆排序桶排序荷兰国旗问题二分查找搜索BFSDFSBacktracking分治动态...
    第六象限阅读 3,229评论 0 0
  • 双指针通常用在有序数组,链表的数据结构上,根据题目条件移动对应的指针。比如判断子串、链表是否有环的问题。 1.1 ...
    HYIndex阅读 189评论 0 0
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,587评论 28 53