代码重构 【Github Actions】

This commit is contained in:
github-actions[bot]
2021-07-23 15:44:19 +00:00
parent c79cac3d9c
commit f671c90754
94 changed files with 1609 additions and 2111 deletions

View File

@@ -12,7 +12,7 @@
我们知道后序遍历的顺序是,` 对于树中的某节点, 先遍历该节点的左子树, 再遍历其右子树, 最后遍历该节点`
那么我们如何利用栈来解决呢
那么我们如何利用栈来解决呢
我们直接来看动画看动画之前但是我们`需要带着问题看动画`问题搞懂之后也就搞定了后序遍历
@@ -34,7 +34,7 @@
2.为什么有的节点出栈后又入栈了呢
> 出栈又入栈的原因是我们发现 cur 节点的 right 不为 null 并且 cur.right 也没有被访问过因为 `cur.right != preNode `所以当前我们还不能够遍历该节点应该先遍历其右子树中的节点
> 出栈又入栈的原因是我们发现 cur 节点的 right 不为 null 并且 cur.right 也没有被访问过因为 `cur.right != preNode `所以当前我们还不能够遍历该节点应该先遍历其右子树中的节点
>
> 所以我们将其入栈后然后`cur = cur.right`
@@ -106,9 +106,6 @@ class Solution {
当然也可以修改下代码逻辑将 `cur = stack.pop()` 改成 `cur = stack.peek()`下面再修改一两行代码也可以实现这里这样写是方便动画模拟大家可以随意发挥
时间复杂度 On, 空间复杂度On
时间复杂度 On, 空间复杂度 On
这里二叉树的三种迭代方式到这里就结束啦大家可以进行归纳总结三种遍历方式大同小异建议各位掌握之后自己手撕一下从搭建二叉树开始