思路:树的层次遍历,BFS,注意这里如果用bool数组标记该字符串是否加入过序列,肯定会超时,因为每次都要遍历整个wordList,所以,建议将加入序列的字符串从wordList中删除,勉强过关;DFS+回溯肯定超时,不用想;

借用评论:
优先广度、深度搜索,最下策再回溯法,因为回溯会有很多问题;
滑动窗口、双指针、dfs/bfs、动态规划、回溯,以后就按照这个顺序思考问题;
动态规划比较难想;

class Solution
{public:bool check(string a, string b){bool flag = true;int len = a.size();for (int i = 0; i < len; i++){if (!flag && a[i] != b[i]){return false;}if (a[i] != b[i]){flag = false;}}return true;}int ladderLength(string beginWord, string endWord, vector<string> &wordList){int len2 = wordList.size();if (len2 == 0){return 0;}int count = 1;queue<string> q;q.push(beginWord);while (!q.empty()){int q_len = q.size();count++;while (q_len--){string now = q.front();q.pop();for (int i = 0; i < wordList.size(); i++){if (check(now, wordList[i])){if (wordList[i] == endWord){return count;}q.push(wordList[i]);wordList.erase(wordList.begin() + i);i--;}}}}return 0;}
};

Leetcode每日一题:127.word-ladder(单词接龙)相关推荐

  1. 127. Word Ladder 单词接龙

    给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度.转换需遵循如下规则: 每次转换只能改变一个字母. 转换过程中的中 ...

  2. leetcode每日一题--前缀树;前缀哈希;深搜;面试题 08.04. 幂集;648. 单词替换面试题 01.09. 字符串轮转;剑指 Offer II 062. 实现前缀树

    leetcode每日一题 ps:今天的每日一题没意思,简单的模拟,自己换一道 面试题 08.04. 幂集 幂集.编写一种方法,返回某集合的所有子集.集合中不包含重复的元素. 说明:解集不能包含重复的子 ...

  3. 【重点BFS】LeetCode 127. Word Ladder

    LeetCode 127. Word Ladder Solution1:我的超过40%的AC的答案 原先利用BFS做但是内存溢出未能AC:进过修改加上了标记是否访问过的visited数组,可以AC啦~ ...

  4. LeetCode每日一题——792. 匹配子序列的单词数

    LeetCode每日一题系列 题目:792. 匹配子序列的单词数 难度:普通 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 给定字符串 s 和字符串数组 words, 返回 w ...

  5. leetcode每日刷题计划-简单篇day8

    leetcode每日刷题计划-简单篇day8 今天是纠结要不要新买手机的一天QAQ想了想还是算了吧,等自己赚钱买,加油 Num 70 爬楼梯 Climbing Stairs class Solutio ...

  6. Leetcode每日一题:171.excel-sheet-column-number(Excel表列序号)

    思路:就是168题的反命题,进制的方式完美解决: Leetcode每日一题:168.excel-sheet-column-title(Excel表名称) class Solution {public: ...

  7. 【LeetCode每日一题】1723. 完成所有工作的最短时间

    [LeetCode每日一题]1723. 完成所有工作的最短时间 [1] 1723. 完成所有工作的最短时间 [2] 473. 火柴拼正方形 [1] 1723. 完成所有工作的最短时间 题目: 给你一个 ...

  8. leetcode每日一题--雀巢原理;抽屉算法;Quorum机制;分布式应用

    leetcode每日一题 539. 最小时间差 示例 1: 输入:timePoints = ["23:59","00:00"] 输出:1 示例 2: 输入:ti ...

  9. LeetCode每日一题——1812. 判断国际象棋棋盘中一个格子的颜色

    LeetCode每日一题系列 题目:1812. 判断国际象棋棋盘中一个格子的颜色 难度:简单 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 给你一个坐标 coordinates ...

  10. 【LeetCode每日一题】——109.有序链表转换二叉搜索树

    文章目录 一[题目类别] 二[题目难度] 三[题目编号] 四[题目描述] 五[题目示例] 六[题目提示] 七[解题思路] 八[时间频度] 九[代码实现] 十[提交结果] 一[题目类别] 二叉树 二[题 ...

最新文章

  1. mac搭建python开发环境_Mac中基于Homebrew搭建python开发环境
  2. ggplot2:9绘图需要的数据整理技术-数据转换
  3. gcc 与 glibc 的关系 glibc版本查看
  4. 今晚直播 | 从编码器与解码器端改进生成式句子摘要
  5. Java多态性练习——几何图形
  6. java常用类有哪些_java中的常用类有哪些
  7. 黑客技术之加密你的磁盘
  8. Kotlin 文档入门-函数 集合
  9. java经典实例 源代码_100个Java经典编程实例源代码JAVA源码下载
  10. 三星S7edge刷极光ROM的总结
  11. 用html制作带阴影小球弹跳,AE怎么制作一个有影子的弹跳小球动画?
  12. python中sticky_position: sticky 详解(防坑指南)
  13. MYSQL常用的数学函数
  14. 就dsaf就打开了撒酒疯
  15. Dev-cpp自定义主题:
  16. ESP32CAM--st7789--240x240--1.3inch
  17. 如何实现密码的显示和隐藏?
  18. 【mqtt】centos搭建EMQ mqtt服务器
  19. 威马EX5量产车如期交付,明年将以10万台冲击B级SUV市场
  20. MATLAB代码实现钻孔地震波波场模拟

热门文章

  1. iPhone开发之UIImageView左右划动切换图片
  2. SYBASE性能优化
  3. train_val.prototxt文件和deploy.prototxt文件开头的区别
  4. 实验吧web-易-what a fuck!这是什么鬼东西?
  5. .net core下的dotnet全局工具
  6. Android studio中添加外部的jar包
  7. 手机网页设计注意事项和解决方法
  8. Quotations
  9. Python3 异常: name ‘basestring‘ is not defined
  10. Python(6)-文件和异常