File tree Expand file tree Collapse file tree 5 files changed +11
-10
lines changed Expand file tree Collapse file tree 5 files changed +11
-10
lines changed Original file line number Diff line number Diff line change @@ -69,15 +69,15 @@ if (cur->left == NULL && cur->right == NULL) {
69
69
70
70
再来看一下终止处理的逻辑。
71
71
72
- 这里使用vector <int > 结构path来记录路径,所以要把vector <int > 结构的path转为string格式,再把这个string 放进 result里。
72
+ 这里使用 ` vector <int>` 结构path来记录路径,所以要把 ` vector <int>` 结构的path转为string格式,再把这个string 放进 result里。
73
73
74
- ** 那么为什么使用了vector <int > 结构来记录路径呢?** 因为在下面处理单层递归逻辑的时候,要做回溯,使用vector方便来做回溯。
74
+ ** 那么为什么使用了 ` vector <int>` 结构来记录路径呢?** 因为在下面处理单层递归逻辑的时候,要做回溯,使用vector方便来做回溯。
75
75
76
76
可能有的同学问了,我看有些人的代码也没有回溯啊。
77
77
78
78
** 其实是有回溯的,只不过隐藏在函数调用时的参数赋值里** ,下文我还会提到。
79
79
80
- 这里我们先使用vector <int >结构的path容器来记录路径,那么终止处理逻辑如下:
80
+ 这里我们先使用 ` vector <int>` 结构的path容器来记录路径,那么终止处理逻辑如下:
81
81
82
82
``` CPP
83
83
if (cur->left == NULL && cur->right == NULL ) { // 遇到叶子节点
Original file line number Diff line number Diff line change @@ -151,7 +151,7 @@ public:
151
151
* 时间复杂度:O(2^n)
152
152
* 空间复杂度:O(n),算上了编程语言中实现递归的系统栈所占空间
153
153
154
- 这个递归的时间复杂度大家画一下树形图就知道了,如果不清晰的同学,可以看这篇:[通过一道面试题目,讲一讲递归算法的时间复杂度!](https://programmercarl.com /前序/通过一道面试题目,讲一讲递归算法的时间复杂度!.html )
154
+ 这个递归的时间复杂度大家画一下树形图就知道了,如果不清晰的同学,可以看这篇:[通过一道面试题目,讲一讲递归算法的时间复杂度!](. /前序/递归算法的时间复杂度.md )
155
155
156
156
157
157
## 总结
Original file line number Diff line number Diff line change @@ -162,16 +162,17 @@ int main() {
162
162
163
163
同样从第二组边界的边上节点 逆流而上,将遍历过的节点也标记上。
164
164
165
- 然后**两方都标记过的节点就是既可以流太平洋也可以流大西洋的节点 **。
165
+ 然后**两方都标记过的节点就是既可以流向第一组边界也可以流向第二组边界的节点 **。
166
166
167
- 从第一组边界边上节点出发,如图:
167
+ 从第一组边界边上节点出发,如图: (图中并没有把所有遍历的方向都画出来,只画关键部分)
168
168
169
- 
169
+ 
170
170
171
+ 从第二组边界上节点出发,如图: (图中并没有把所有遍历的方向都画出来,只画关键部分)
171
172
172
- 从第二组边界上节点出发,如图:
173
+ 
173
174
174
- 
175
+ 最后,我们得到两个方向交界的这些节点,就是我们最后要求的节点。
175
176
176
177
按照这样的逻辑,就可以写出如下遍历代码:(详细注释)
177
178
Original file line number Diff line number Diff line change 72
72
73
73
![ ] ( https://code-thinking-1253855093.file.myqcloud.com/pics/20220829104834.png )
74
74
75
- 第一步,则遍历题目,并将岛屿到编号和面积上的统计 ,过程如图所示:
75
+ 第一步,则遍历地图,并将岛屿的编号和面积都统计好 ,过程如图所示:
76
76
77
77
![ ] ( https://code-thinking-1253855093.file.myqcloud.com/pics/20220829105644.png )
78
78
You can’t perform that action at this time.
0 commit comments