添加19.删除链表的倒数第N个节点,添加了java方法使用递归的方法删除倒数第N个节点

This commit is contained in:
程宣魁
2024-12-26 20:49:16 +08:00
parent a8382d91c3
commit 7a1d070c25

View File

@ -129,6 +129,36 @@ class Solution {
} }
``` ```
```java
class Solution {
public ListNode removeNthFromEnd(ListNode head, int n) {
// 创建一个新的哑节点,指向原链表头
ListNode s = new ListNode(-1, head);
// 递归调用remove方法从哑节点开始进行删除操作
remove(s, n);
// 返回新链表的头(去掉可能的哑节点)
return s.next;
}
public int remove(ListNode p, int n) {
// 递归结束条件如果当前节点为空返回0
if (p == null) {
return 0;
}
// 递归深入到下一个节点
int net = remove(p.next, n);
// 如果当前节点是倒数第n个节点进行删除操作
if (net == n) {
p.next = p.next.next;
}
// 返回当前节点的总深度
return net + 1;
}
}
```
### Python: ### Python:
```python ```python