Skip to content

Commit ec38656

Browse files
committed
19
1 parent bec19e3 commit ec38656

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

leetCode-19-Remov-Nth-Node-From-End-of-List.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,15 @@ public ListNode removeNthFromEnd(ListNode head, int n) {
9797
}
9898
```
9999

100-
时间复杂度:链表整个只遍历了一遍,第一个指针先到 n ,再从 n 到结束,也就是 L 次,而第二个指针和第一个指针是同时进行的。但其实时间复杂度和上一个没什么差别,本质上其实只是把两个循环合并到了一起而已,时间复杂度没有任何变化。所以是 O(L)。
100+
时间复杂度:
101+
102+
第一个指针从 0 到 n ,然后「第一个指针再从 n 到结束」和「第二个指针从 0 到倒数第 n 个结点的位置」同时进行。
103+
104+
而解法一无非是先从 0 到 结束,然后从 0 到倒数第 n 个结点的位置。
105+
106+
所以其实它们语句执行的次数其实是一样的,从 0 到倒数第 n 个结点的位置都被遍历了 2 次,所以总共也是 2L - n 次。只不过这个解法把解法一的两次循环合并了一下,使得第二个指针看起来是顺便遍历,想法很 nice。
107+
108+
所以本质上,它们其实是一样的,时间复杂度依旧是 O(n)。
101109

102110
空间复杂度:O(1)。
103111

0 commit comments

Comments
 (0)