给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。
    进阶:你能尝试使用一趟扫描实现吗?
    示例 1:
    image.png

    1. 输入:head = [1,2,3,4,5], n = 2
    2. 输出:[1,2,3,5]

    示例 2:

    1. 输入:head = [1], n = 1
    2. 输出:[]

    示例 3:

    1. 输入:head = [1,2], n = 1
    2. 输出:[1]

    提示:

    • 链表中结点的数目为 sz
    • 1 <= sz <= 30
    • 0 <= Node.val <= 100
    • 1 <= n <= sz ```javascript /**
      • 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) { let pre = head; let last = length(head) - n; //如果last等于0表示删除的是头结点 if (last == 0)
        1. return head.next;
        //这里首先要找到要删除链表的前一个结点 for (let i = 0; i < last - 1; i++) {
        pre = pre.next;
        
        } //然后让前一个结点的next指向要删除节点的next pre.next = pre.next.next; return head; }

    //求链表的长度 var length = function(head) { let len = 0; while (head != null) { len++; head = head.next; } return len; } ```