Skip to content

Commit

Permalink
update 0206.翻转链表:添加复杂度分析
Browse files Browse the repository at this point in the history
  • Loading branch information
juguagua authored Mar 12, 2023
1 parent 9321c3c commit 2d7a9a1
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions problems/0206.翻转链表.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,9 @@ public:
};
```
* 时间复杂度: O(n)
* 空间复杂度: O(1)
## 递归法
递归法相对抽象一些,但是其实和双指针法是一样的逻辑,同样是当cur为空的时候循环结束,不断将cur指向pre的过程。
Expand Down Expand Up @@ -97,6 +100,9 @@ public:
};
```

* 时间复杂度: O(n), 要递归处理链表的每个节点
* 空间复杂度: O(n), 递归调用了 n 层栈空间

我们可以发现,上面的递归写法和双指针法实质上都是从前往后翻转指针指向,其实还有另外一种与双指针法不同思路的递归写法:从后往前翻转指针指向。

具体代码如下(带详细注释):
Expand All @@ -120,6 +126,9 @@ public:
};
```
* 时间复杂度: O(n)
* 空间复杂度: O(n)
## 其他语言版本
Expand Down

0 comments on commit 2d7a9a1

Please sign in to comment.