美文网首页
LeetCode127. 单词接龙

LeetCode127. 单词接龙

作者: TUCJVXCB | 来源:发表于2019-07-09 11:01 被阅读0次

语言:Java
算法:BFS


提交记录

AC代码:

import java.util.*;

class Solution {
    public int ladderLength(String beginWord, String endWord, List<String> wordList) {
        int res = 0;
        Queue<String> queue = new LinkedList<>();
        Set<String> set = new HashSet<>();
        set.addAll(wordList);

        if (!set.contains(endWord)) {
            return 0;
        }

        queue.offer(beginWord);

        while (!queue.isEmpty()) {
            int size = queue.size();
            res++;

            for (int i = 0; i < size; i++) {
                String str = queue.poll();
                /**
                 * 将队列中的字符串取出,然后把这个字符串转化成字符数组,
                 * 将数组的每一个元素都用‘a’到‘z’去替换,然后判断这个元
                 * 素是否在set中存在,若存在,则将此字符串入队,并从set
                 * 中删除该字符串。
                 */
                for (int j = 0; j < str.length(); j++) {
                    char[] chars = str.toCharArray(); //将字符串转换成数组,方便后面的操作

                    for (char k = 'a'; k <= 'z'; k++) {
                        chars[j] = k;
                        String newStr = new String(chars);

                        if (newStr.equals(endWord)) {
                            return res + 1;
                        }

                        if (set.contains(newStr)) {
                            queue.offer(newStr);
                            set.remove(newStr);
                        }
                    }
                }
            }
        }
        return 0;
    }
}

相关文章

  • LeetCode127. 单词接龙

    语言:Java算法:BFS AC代码:

  • LeetCode-127-单词接龙

    LeetCode-127-单词接龙 127. 单词接龙[https://leetcode-cn.com/probl...

  • 单词接龙

    10.06 [codevs] 单词接龙题记 题目: 题目描述 Description 输入描述 Input Des...

  • 单词接龙

    题目 给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWo...

  • leetcode127 单词接龙

    题目 单词接龙 分析 分析同leetcode433 最小基因变化 代码

  • 127. 单词接龙

    127. 单词接龙[https://leetcode-cn.com/problems/word-ladder/] ...

  • 12 - Hard - 单词接龙

    定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的...

  • 127. 单词接龙

    题目描述 给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 end...

  • 127. 单词接龙

    https://leetcode-cn.com/problems/word-ladder/

  • LeetCode - #127 单词接龙

    前言 我们社区陆续会将顾毅(Netflix 增长黑客,《iOS 面试之道》作者,ACE 职业健身教练。)的 Swi...

网友评论

      本文标题:LeetCode127. 单词接龙

      本文链接:https://www.haomeiwen.com/subject/gogtkctx.html