76 BFS解单词接龙

问题描述:给定两个单词(beginWord和endWord)和一个字典,找到从beginWord到endWord的最短转换序列的长度,转换需要遵循一下规则:每次转换只能改变一个字母,转换过程中的中间大慈必须是字典中的单词;说明:如果不存在这样的转换序列,返回0,所有的单词具有相同的长度,所有单词都由小写字母组成,字典中不存在重复的单词,可以假设beginWord和endWord是非空的,且二者不相同。

bfs求解,每一层bfs将所有能考虑到的将单词改变一个字母的单词,且存在于wordDict中,且没有遍历过,则加入队列中,直到找到这个单词或遍历完所有情况。并返回当前层次即可。

public int minStep(String beginWord,String endWord,List<String>wordDict)
{
Set<String>wordSet=new HashSet<>(wordDict);
Set<String>set=new HashSet<>();
Queue<String>queue=new LinkedList<>();
set.add(beginWord);
queue.add(beginWord);
int level=0;
while(!queue.isEmpty())
{
int queueSize=queue.size();
for(int i=0;i<queueSize;i++)
{
String tempStr=queue.poll();
if(tempStr.equals(endWord)){return level;}
for(int j=0;j<tempStr.length();j++)
{
for(char j='a';j<='z';j++)
{
String changeStr=tempStr.substring(0,j)+j+tempStr.substring(j+1);
if(!wordSet.contains(changeStr)||set.contains(changeStr))
{
continue;
}else
{
queue.add(changeStr);
}
}
}
}
level++;
}
return -1;
}

相关推荐

  1. 76 BFS单词

    2024-01-05 22:04:05       40 阅读
  2. 127. 单词

    2024-01-05 22:04:05       36 阅读
  3. 127. 单词

    2024-01-05 22:04:05       37 阅读
  4. 单词~~

    2024-01-05 22:04:05       18 阅读

最近更新

  1. 关于go和rust语言的对比

    2024-01-05 22:04:05       0 阅读
  2. python入门基础知识·二

    2024-01-05 22:04:05       0 阅读
  3. 概率基础——矩阵正态分布matrix normal distribution

    2024-01-05 22:04:05       0 阅读
  4. 网络编程:常用网络测试工具

    2024-01-05 22:04:05       1 阅读
  5. 在 React 中使用自定义 Hooks 封装 Service 逻辑

    2024-01-05 22:04:05       1 阅读
  6. 【AI原理解析】—遗传算法(GA)原理

    2024-01-05 22:04:05       1 阅读
  7. 微服务: 初识 Spring Cloud

    2024-01-05 22:04:05       1 阅读

热门阅读

  1. c# 设置文件夹隐藏

    2024-01-05 22:04:05       41 阅读
  2. LeetCode解法汇总1276. 不浪费原料的汉堡制作方案

    2024-01-05 22:04:05       39 阅读
  3. React Grid Layout基础使用

    2024-01-05 22:04:05       35 阅读
  4. Css中默认与继承

    2024-01-05 22:04:05       38 阅读
  5. SSH协议中发现新安全漏洞CVE-2023-48795

    2024-01-05 22:04:05       46 阅读
  6. 变量和对象的解构赋值

    2024-01-05 22:04:05       32 阅读
  7. android c++打印堆栈

    2024-01-05 22:04:05       44 阅读
  8. PHP命令行脚本接收传入参数的三种方式

    2024-01-05 22:04:05       33 阅读
  9. 使用Python国产API框架开发REST接口

    2024-01-05 22:04:05       30 阅读