update 0206.翻转链表:添加复杂度分析

This commit is contained in:
Yuhao Ju
2023-03-12 11:38:20 +08:00
committed by GitHub
parent 9321c3c677
commit 2d7a9a16c5

View File

@ -68,6 +68,9 @@ public:
};
```
* 时间复杂度: O(n)
* 空间复杂度: O(1)
## 递归法
递归法相对抽象一些但是其实和双指针法是一样的逻辑同样是当cur为空的时候循环结束不断将cur指向pre的过程。
@ -97,6 +100,9 @@ public:
};
```
* 时间复杂度: O(n), 要递归处理链表的每个节点
* 空间复杂度: O(n), 递归调用了 n 层栈空间
我们可以发现,上面的递归写法和双指针法实质上都是从前往后翻转指针指向,其实还有另外一种与双指针法不同思路的递归写法:从后往前翻转指针指向。
具体代码如下(带详细注释):
@ -120,6 +126,9 @@ public:
};
```
* 时间复杂度: O(n)
* 空间复杂度: O(n)
## 其他语言版本