|
@@ -0,0 +1,21 @@
|
|
|
+//给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。
|
|
|
+public class Solution19 {
|
|
|
+ public ListNode removeNthFromEnd(ListNode head, int n) {
|
|
|
+ ListNode dumpHead = head;
|
|
|
+ ListNode p1 = head, p2 = head;
|
|
|
+ for (int i = 0; i < n; i++) {
|
|
|
+ p1 = p1.next;
|
|
|
+ }
|
|
|
+ while (p1.next != null) {
|
|
|
+ p1 = p1.next;
|
|
|
+ p2 = p2.next;
|
|
|
+ }
|
|
|
+ p2.next = p2.next.next;
|
|
|
+ return dumpHead;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static void main(String[] args) {
|
|
|
+ ListNode listNode = ListNode.fromArray(1, 2, 3, 4, 5);
|
|
|
+ System.out.println(new Solution19().removeNthFromEnd(listNode, 2));
|
|
|
+ }
|
|
|
+}
|