龙岗龙城街道网站建设,国外购买域名的网站,帮企业建设网站销售,做网站需要走公司吗题目#xff1a;leetcode19. 删除链表的倒数第 N 个结点
描述#xff1a; 给你一个链表#xff0c;删除链表的倒数第 n 个结点#xff0c;并且返回链表的头结点。 思路#xff1a; 让前面的节点比后面的节点先走n1步#xff0c;因为从链表的尾节点的下一个节点开始…题目leetcode19. 删除链表的倒数第 N 个结点
描述 给你一个链表删除链表的倒数第 n 个结点并且返回链表的头结点。 思路 让前面的节点比后面的节点先走n1步因为从链表的尾节点的下一个节点开始倒数n个节点就是要删除的节点删除一个节点我们需要找到这个节点的前一个节点我们需要找到倒数n1节点所以我们先让前面的节点先从虚拟头结点先走n1步再让前面的节点和后面的节点一起走当前面的节点走到尾节点的下一个节点的时候后面的节点也走到了要删除的节点的前一个节点我们就可以删除了。
class ListNode {public int val;public ListNode next;public ListNode(){};public ListNode(int val){ this.valval;}public ListNode(int val, ListNode next) {this.val val;this.next next;}
}public class Solution {public ListNode removeNthFromEnd(ListNode head, int n) {if(n0)return head;ListNode drumnew ListNode(-1);drum.nexthead;ListNode curdrum;ListNode predrum;for (int i0;in1;i)curcur.next;while(cur!null){curcur.next;prepre.next;}pre.nextpre.next.next;return drum.next;}
}