==========================努力奋斗财源广进==========================
给定一个链表,删除链表的倒数第 n 个节点并返回链表的头指针
import java.util.*;
/*
* public class ListNode {
* int val;
* ListNode next = null;
* }
*/
public class Solution {
/**
*
* @param head ListNode类
* @param n int整型
* @return ListNode类
*/
public ListNode removeNthFromEnd (ListNode head, int n) {
// write code here
//属于比较简单的题目,类似于上一题,删除对应的节点。
//使用快慢指针。
//亚节点使用
ListNode dummy = new ListNode(-1);
dummy.next = head;
ListNode fast = dummy;
ListNode slow = dummy;
for(int i = 0; i < n + 1; i++){
fast = fast.next;
}
while(fast != null){
fast = fast.next;
slow = slow.next;
}
//删除slow节点
slow.next = slow.next.next;
return dummy.next;
}
}
//待定
此题比较简单,并且自己做出来,还得到一个比较高的分。,主要是添加了一个哑节点。然后使用双指针,快指针比K多走一步,找到要删除节点的前一个节点。
评论区记录复习记录
评论