Commit 7cd1ea3 1 parent 6bbdd79 commit 7cd1ea3 Copy full SHA for 7cd1ea3
File tree 2 files changed +3
-3
lines changed
2 files changed +3
-3
lines changed Original file line number Diff line number Diff line change @@ -44,7 +44,7 @@ BFS 相对 DFS 的最主要的区别是:**BFS 找到的路径一定是最短
44
44
45
45
本文就由浅入深写两道 BFS 的典型题目,分别是「二叉树的最小高度」和「打开密码锁的最少步数」,手把手教你怎么写 BFS 算法。
46
46
47
- ## 一、算法框架
47
+ ### 一、算法框架
48
48
49
49
要说框架的话,我们先举例一下 BFS 出现的常见场景好吧,** 问题的本质就是让你在一幅「图」中找到从起点 ` start ` 到终点 ` target ` 的最近距离,这个例子听起来很枯燥,但是 BFS 算法问题其实都是在干这个事儿** ,把枯燥的本质搞清楚了,再去欣赏各种问题的包装才能胸有成竹嘛。
50
50
Original file line number Diff line number Diff line change @@ -140,8 +140,8 @@ ListNode deleteDuplicates(ListNode head) {
140
140
> note:这里可能有读者会问,链表中那些重复的元素并没有被删掉,就让这些节点在链表上挂着,合适吗?
141
141
>
142
142
> 这就要探讨不同语言的特性了,像 Java/Python 这类带有垃圾回收的语言,可以帮我们自动找到并回收这些「悬空」的链表节点的内存,而像 C++ 这类语言没有自动垃圾回收的机制,确实需要我们编写代码时手动释放掉这些节点的内存。
143
-
144
- 不过话说回来,就算法思维的培养来说,我们只需要知道这种快慢指针技巧即可。
143
+ >
144
+ > 不过话说回来,就算法思维的培养来说,我们只需要知道这种快慢指针技巧即可。
145
145
146
146
** 除了让你在有序数组/链表中去重,题目还可能让你对数组中的某些元素进行「原地删除」** 。
147
147
You can’t perform that action at this time.
0 commit comments