摘要: 方法1:使用优先队列合并 方法2:分治法,两两合并 代码1:优先队列 class Solution { public ListNode mergeKLists(ListNode[] lists) { /** * 方法1:使用优先队列 * 把链表的头结点都放进去,然后出队当前优先队列中最小的,接上链表 阅读全文
posted @ 2020-12-20 18:41 不学无墅_NKer 阅读(69) 评论(0) 推荐(0) 编辑
摘要: ☆☆☆☆☆思路:本题是127题的进阶版,需要将找到的最短路径存储下来。 方法1:BFS。在到达最短路径所在的层时,记录并输出所有符合条件的路径。 1. 127题的队列只存储每一层的元素,本题中队列需要存储每层添加元素之后的结果。 2. 如果该层添加的某一个单词符合目标单词,则该路径为最短路径,该层为 阅读全文
posted @ 2020-12-20 17:26 不学无墅_NKer 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 为什么要用BFS? 无向图求最短路,广搜最为合适,广搜只要搜到了终点,那么一定是最短的路径。因为广搜就是以起点中心向四周扩散的搜索。 本题是一个无向图,需要用标记位,标记着节点是否走过,否则就会死循环! ☆☆☆方法1:BFS ☆☆☆☆方法2:双向BFS,减少搜索空间大小。 BFS的搜索空间大小依赖于 阅读全文
posted @ 2020-12-20 14:33 不学无墅_NKer 阅读(105) 评论(0) 推荐(0) 编辑