更新 019.删除链表的倒数第n个节点 排版格式修复

This commit is contained in:
jinbudaily
2023-07-18 15:13:42 +08:00
parent 2acceb7474
commit a64e11b09a

View File

@ -7,7 +7,7 @@
## 19.删除链表的倒数第N个节点
# 19.删除链表的倒数第N个节点
[力扣题目链接](https://leetcode.cn/problems/remove-nth-node-from-end-of-list/)
@ -31,11 +31,13 @@
输入head = [1,2], n = 1
输出:[1]
## 算法公开课
**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html)[链表遍历学清楚! | LeetCode19.删除链表倒数第N个节点](https://www.bilibili.com/video/BV1vW4y1U7Gf),相信结合视频再看本篇题解,更有助于大家对链表的理解。**
## 思路
《代码随想录》算法公开课:[链表遍历学清楚! | LeetCode19.删除链表倒数第N个节点](https://www.bilibili.com/video/BV1vW4y1U7Gf),相信结合视频在看本篇题解,更有助于大家对链表的理解。
双指针的经典应用如果要删除倒数第n个节点让fast移动n步然后让fast和slow同时移动直到fast指向链表末尾。删掉slow所指向的节点就可以了。
@ -93,7 +95,7 @@ public:
## 其他语言版本
java:
### Java:
```java
public ListNode removeNthFromEnd(ListNode head, int n){
@ -120,7 +122,8 @@ public ListNode removeNthFromEnd(ListNode head, int n){
}
```
Python:
### Python:
```python
# Definition for singly-linked list.
# class ListNode:
@ -151,7 +154,8 @@ class Solution:
return dummy_head.next
```
Go:
### Go:
```Go
/**
* Definition for singly-linked list.
@ -178,7 +182,7 @@ func removeNthFromEnd(head *ListNode, n int) *ListNode {
}
```
JavaScript:
### JavaScript:
```js
/**
@ -198,7 +202,7 @@ var removeNthFromEnd = function(head, n) {
return ret.next;
};
```
TypeScript:
### TypeScript:
版本一(快慢指针法):
@ -263,7 +267,7 @@ function removeNthFromEnd(head: ListNode | null, n: number): ListNode | null {
};
```
Kotlin:
### Kotlin:
```Kotlin
fun removeNthFromEnd(head: ListNode?, n: Int): ListNode? {
@ -284,7 +288,8 @@ fun removeNthFromEnd(head: ListNode?, n: Int): ListNode? {
}
```
Swift
### Swift
```swift
func removeNthFromEnd(_ head: ListNode?, _ n: Int) -> ListNode? {
if head == nil {
@ -309,8 +314,8 @@ func removeNthFromEnd(_ head: ListNode?, _ n: Int) -> ListNode? {
}
```
### PHP:
PHP:
```php
function removeNthFromEnd($head, $n) {
// 设置虚拟头节点
@ -332,7 +337,8 @@ function removeNthFromEnd($head, $n) {
}
```
Scala:
### Scala:
```scala
object Solution {
def removeNthFromEnd(head: ListNode, n: Int): ListNode = {
@ -356,7 +362,8 @@ object Solution {
}
```
Rust:
### Rust:
```rust
impl Solution {
pub fn remove_nth_from_end(head: Option<Box<ListNode>>, mut n: i32) -> Option<Box<ListNode>> {
@ -377,7 +384,8 @@ impl Solution {
}
}
```
C语言
### C
```c
/**c语言单链表的定义
* Definition for singly-linked list.
@ -412,7 +420,8 @@ struct ListNode* removeNthFromEnd(struct ListNode* head, int n) {
```
C#
### C#
```csharp
public class Solution {
public ListNode RemoveNthFromEnd(ListNode head, int n) {