127. Word Ladder


字典 wordList 中从单词 beginWord 和 endWord 的 转换序列 是一个按下述规格形成的序列 beginWord -> s1 -> s2 -> ... -> sk:


   每一对相邻的单词只差一个字母。

    对于 1 <= i <= k 时,每个 si 都在 wordList 中。注意, beginWord 不需要在 wordList 中。

   sk == endWord

给你两个单词 beginWord 和 endWord 和一个字典 wordList ,返回 从 beginWord 到 endWord 的 最短转换序列 中的 单词数目 。如果不存在这样的转换序列,返回 0 。


示例 1:

输入:beginWord = "hit", endWord = "cog", wordList = ["hot","dot","dog","lot","log","cog"]

输出:5

解释:一个最短转换序列是 "hit" -> "hot" -> "dot" -> "dog" -> "cog", 返回它的长度 5。


示例 2:

输入:beginWord = "hit", endWord = "cog", wordList = ["hot","dot","dog","lot","log"]

输出:0

解释:endWord "cog" 不在字典中,所以无法进行转换。


提示:

   1 <= beginWord.length <= 10

   endWord.length == beginWord.length

   1 <= wordList.length <= 5000

   wordList[i].length == beginWord.length

   beginWord、endWord 和 wordList[i] 由小写英文字母组成

   beginWord != endWord

   wordList 中的所有字符串 互不相同


相关:

126. 单词接龙 II Word Ladder II  🌟🌟🌟

代码1: BFS

代码2: 双向 BFS

输出:

5

0

代码3: 用126题的结果遍历出最大长度




128. 最长连续序列 Longest Consecutive Sequence


nums


O(n)


示例 1:

输入:nums = [100,4,200,1,3,2]

输出:4

解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。


示例 2:

输入:nums = [0,3,7,2,5,8,4,6,0,1]

输出:9

提示:

   0 <= nums.length <= 10^5

   -10^9 <= nums[i] <= 10^9

代码1:  



输出:

4

9

代码2: 



129. 求根节点到叶节点数字之和 Sum Root-to-leaf Numbers


root09


每条从根节点到叶节点的路径都代表一个数字:

   例如,从根节点到叶节点的路径 1 -> 2 -> 3 表示数字 123 。

计算从根节点到叶节点生成的 所有数字之和 。

叶节点 是指没有子节点的节点。


示例 1:

3111755c26c4e60c7544d4720b3428a9.jpeg

输入:root = [1,2,3]

输出:25

解释:

从根到叶子节点路径 1->2 代表数字 12

从根到叶子节点路径 1->3 代表数字 13

因此,数字总和 = 12 + 13 = 25



示例 2:

e23d189282ffa3bb3f9d1472e5d133fb.jpeg

输入:root = [4,9,0,5,1]

输出:1026


解释:

从根到叶子节点路径 4->9->5 代表数字 495

从根到叶子节点路径 4->9->1 代表数字 491

从根到叶子节点路径 4->0 代表数字 40

因此,数字总和 = 495 + 491 + 40 = 1026


提示:

   树中节点的数目在范围 [1, 1000] 内

   0 <= Node.val <= 9

   树的深度不超过 10

代码1: DFS



输出:

25

1026

代码2: 递归



代码3: binaryTreePaths()结果求和,相关题目: