《LeetCode力扣练习》代码随想录——双指针法(删除链表的倒数第N个节点—Java)
刷题思路来源于 代码随想录
19. 删除链表的倒数第 N 个结点
-
双指针
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next; } * } */ class Solution { public ListNode removeNthFromEnd(ListNode head, int n) { if(head.next==null){ return null; } ListNode dummyHead=new ListNode(-1,head); ListNode slow=dummyHead; ListNode fast=dummyHead; for(int i=0;i<n+1;i++){ fast=fast.next; } while(fast!=null){ slow=slow.next; fast=fast.next; } slow.next=slow.next.next; return dummyHead.next; } }
本文介绍了在LeetCode中使用双指针技巧解决删除链表倒数第N个节点的问题,通过预设虚拟头节点并控制两个指针移动距离,最终实现高效删除操作。
&spm=1001.2101.3001.5002&articleId=135109641&d=1&t=3&u=e39c07a5ab424c08b263a3cf1e71f550)
493

被折叠的 条评论
为什么被折叠?



