思路: 删除链表的倒序第N个节点,也就是正序第length - n个节点,我们只需要找到正序他的前一个节点把他的指针向后移动一位即可,需要处理一下边界值
var removeNthFromEnd = function(head, n) {
if (n === 0) {
return head
}
let cur = head
let len = 1
while(cur.next){
cur = cur.next
len++
}
if (len === n) {
return head.next
}
cur = head
let add = len - n
while(--add) {
cur = cur.next
}
cur.next = cur.next.next
return head
};