【LeetCode热题100(29/100)】删除链表的倒数第 N 个结点
题目地址:链接
思路:
- p 指针首先走过从 dummy 指针走 n 次;
- 此时 p 和 q 兼具 n ,只要让 p.next 为空,q下一个指针就是要删除的节点
/*** Definition for singly-linked list.* function ListNode(val, next) {* this.val = (val===undefined ? 0 : val)* this.next = (next===undefined ? null : next)* }*/
/*** @param {ListNode} head* @param {number} n* @return {ListNode}*/
var removeNthFromEnd = function(head, n) {const dummy = new ListNode(0, head);let p = dummy;let q = dummy;while(n --) p = p.next;while(p.next) {p = p.next;q = q.next;}q.next = q.next.next;return dummy.next;
};