更新 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/) [力扣题目链接](https://leetcode.cn/problems/remove-nth-node-from-end-of-list/)
@ -31,11 +31,13 @@
输入head = [1,2], n = 1 输入head = [1,2], n = 1
输出:[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所指向的节点就可以了。 双指针的经典应用如果要删除倒数第n个节点让fast移动n步然后让fast和slow同时移动直到fast指向链表末尾。删掉slow所指向的节点就可以了。
@ -93,7 +95,7 @@ public:
## 其他语言版本 ## 其他语言版本
java: ### Java:
```java ```java
public ListNode removeNthFromEnd(ListNode head, int n){ public ListNode removeNthFromEnd(ListNode head, int n){
@ -120,7 +122,8 @@ public ListNode removeNthFromEnd(ListNode head, int n){
} }
``` ```
Python: ### Python:
```python ```python
# Definition for singly-linked list. # Definition for singly-linked list.
# class ListNode: # class ListNode:
@ -151,7 +154,8 @@ class Solution:
return dummy_head.next return dummy_head.next
``` ```
Go: ### Go:
```Go ```Go
/** /**
* Definition for singly-linked list. * Definition for singly-linked list.
@ -178,7 +182,7 @@ func removeNthFromEnd(head *ListNode, n int) *ListNode {
} }
``` ```
JavaScript: ### JavaScript:
```js ```js
/** /**
@ -198,7 +202,7 @@ var removeNthFromEnd = function(head, n) {
return ret.next; return ret.next;
}; };
``` ```
TypeScript: ### TypeScript:
版本一(快慢指针法): 版本一(快慢指针法):
@ -263,7 +267,7 @@ function removeNthFromEnd(head: ListNode | null, n: number): ListNode | null {
}; };
``` ```
Kotlin: ### Kotlin:
```Kotlin ```Kotlin
fun removeNthFromEnd(head: ListNode?, n: Int): ListNode? { fun removeNthFromEnd(head: ListNode?, n: Int): ListNode? {
@ -284,7 +288,8 @@ fun removeNthFromEnd(head: ListNode?, n: Int): ListNode? {
} }
``` ```
Swift ### Swift
```swift ```swift
func removeNthFromEnd(_ head: ListNode?, _ n: Int) -> ListNode? { func removeNthFromEnd(_ head: ListNode?, _ n: Int) -> ListNode? {
if head == nil { if head == nil {
@ -309,8 +314,8 @@ func removeNthFromEnd(_ head: ListNode?, _ n: Int) -> ListNode? {
} }
``` ```
### PHP:
PHP:
```php ```php
function removeNthFromEnd($head, $n) { function removeNthFromEnd($head, $n) {
// 设置虚拟头节点 // 设置虚拟头节点
@ -332,7 +337,8 @@ function removeNthFromEnd($head, $n) {
} }
``` ```
Scala: ### Scala:
```scala ```scala
object Solution { object Solution {
def removeNthFromEnd(head: ListNode, n: Int): ListNode = { def removeNthFromEnd(head: ListNode, n: Int): ListNode = {
@ -356,7 +362,8 @@ object Solution {
} }
``` ```
Rust: ### Rust:
```rust ```rust
impl Solution { impl Solution {
pub fn remove_nth_from_end(head: Option<Box<ListNode>>, mut n: i32) -> Option<Box<ListNode>> { 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
/**c语言单链表的定义 /**c语言单链表的定义
* Definition for singly-linked list. * Definition for singly-linked list.
@ -412,7 +420,8 @@ struct ListNode* removeNthFromEnd(struct ListNode* head, int n) {
``` ```
C# ### C#
```csharp ```csharp
public class Solution { public class Solution {
public ListNode RemoveNthFromEnd(ListNode head, int n) { public ListNode RemoveNthFromEnd(ListNode head, int n) {