最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

19. Remove Nth Node From End of List

XAMPP相关 文, 员 18浏览 0评论

Given a linked list, remove the n-th node from the end of list and return its head.

Example:
Given linked list: 1->2->3->4->5, and n = 2.

After removing the second node from the end, the linked list becomes 1->2->3->5.
Note:
Given n will always be valid.

Follow up:
Could you do this in one pass?

难度:medium

题目:
给定一链表,移除其倒数第n个结点。
注意:n总是合法数

思路:双指针

Runtime: 6 ms, faster than 98.72% of Java online submissions for Remove Nth Node From End of List.
Memory Usage: 27 MB, less than 39.84% of Java online submissions for Remove Nth Node From End of List.

/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode removeNthFromEnd(ListNode head, int n) {
ListNode dummyHead = new ListNode(0);
dummyHead.next = head;
ListNode ptr = dummyHead,lastNPtr = dummyHead;
while (ptr.next != null) {
if (–n < 0) {
lastNPtr = lastNPtr.next;
}

ptr = ptr.next;
}

lastNPtr.next = lastNPtr.next.next;

return dummyHead.next;
}
}

转载请注明:XAMPP中文组官网 » 19. Remove Nth Node From End of List