当前位置:   article > 正文

LetCode 127. 单词接龙_python 127. 单词接龙

python 127. 单词接龙
  1. class Solution {
  2. public:
  3. int ladderLength(string beginWord, string endWord, vector<string>& wordList) {
  4. // 单词字典,方便查询
  5. unordered_set<string> s(wordList.begin(), wordList.end());
  6. // 记录单词的出现
  7. unordered_map<string, int> m;
  8. if (!s.count(endWord))
  9. return 0;
  10. m[beginWord] = 1;
  11. queue<string> q;
  12. q.push(beginWord);
  13. // 层序遍历
  14. while(!q.empty()){
  15. string word = q.front();
  16. q.pop();
  17. for(int i = 0; i < word.length(); ++i){
  18. string tmp = word;
  19. for (char j = 'a'; j <= 'z'; ++j){
  20. tmp[i] = j;
  21. if (s.count(tmp)){
  22. if (tmp == endWord)
  23. return m[word] + 1;
  24. if (!m.count(tmp)){
  25. q.push(tmp);
  26. m[tmp] = m[word] + 1;
  27. }
  28. }
  29. }
  30. }
  31. }
  32. return 0;
  33. }
  34. };
  35. static int x=[](){
  36. std::ios::sync_with_stdio(false);
  37. cin.tie(NULL);
  38. return 0;
  39. }();

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/718622
推荐阅读
相关标签
  

闽ICP备14008679号