博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Word Ladder(LintCode)
阅读量:5896 次
发布时间:2019-06-19

本文共 1389 字,大约阅读时间需要 4 分钟。

Word Ladder

Given two words (start and end), and a dictionary, find the length of shortest transformation sequence from start to end, such that:

  1. Only one letter can be changed at a time
  2. Each intermediate word must exist in the dictionary
Example

Given:

start = "hit"
end = "cog"
dict = ["hot","dot","dog","lot","log"]

As one shortest transformation is"hit" -> "hot" -> "dot" -> "dog" -> "cog",

return its length 5.

Note
  • Return 0 if there is no such transformation sequence.
  • All words have the same length.
  • All words contain only lowercase alphabetic characters.

 

用BFS做,字符串只相差一个字符的就当作有边。

1 public class Solution { 2     /** 3       * @param start, a string 4       * @param end, a string 5       * @param dict, a set of string 6       * @return an integer 7       */ 8     public int ladderLength(String start, String end, Set
dict) { 9 Queue q = new LinkedList();10 dict.add(end);11 int reslut = 0;12 13 //转成List方便标记,其实也可以将搜索过的String从Set中移除14 List
list = new ArrayList
(dict);15 int[] flag = new int[list.size()];16 q.add(start);17 int n = 1;18 int x = 0;19 while(q.size() > 0) {20 String y = (String)q.remove();21 n--;22 for (int i = 0;i

 

转载于:https://www.cnblogs.com/FJH1994/p/5041418.html

你可能感兴趣的文章
oc面试 内存泄露
查看>>
Beta版冲刺前准备
查看>>
UGUI学习(一)Canvas
查看>>
nodejs post 数据到php $_POST["content"]接收不到的问题
查看>>
数据系列:如何在Windows Azure虚拟机上设置SQL Server
查看>>
mapper 传多个参数
查看>>
控制器
查看>>
树形dp poj1463
查看>>
wget 命令用法详解
查看>>
React(0.13) 定义一个checked组件
查看>>
Django - - 进阶 - - Django 中间件
查看>>
JS相关
查看>>
单例模式
查看>>
【C语言学习】《C Primer Plus》第7章 C控制语句:分支与跳转
查看>>
按键的硬件消抖小结
查看>>
Neo4j之Cypher学习总结
查看>>
我在软件开发中应该注意的地方
查看>>
阿里云服务器(Ubuntu16.04 64位)的使用
查看>>
cobbler
查看>>
shell算术运算与进制运算
查看>>