class Solution {
private int getLen(ListNode head) {
int len = 0;
while (head != null) {
head = head.next;
len++;
}
return len;
}
public ListNode removeNthFromEnd(ListNode head, int n) {
int len = getLen(head);
n = len - n + 1;
if (n == 1) {
return head.next;
}
ListNode p = head;
int i = 2;
while (i < n) {
p = p.next;
i++;
}
if (n == len) {
p.next = null;
} else {
p.next = p.next.next;
}
return head;
}
}
19. 删除链表的倒数第 N 个结点
最新推荐文章于 2024-08-08 15:12:59 发布