{
  "type": "code_options",
  "author": "csdn.net",
  "source": "solution.md",
  "exercise_id": "dc13813782b9433eb72a016d587bbf85",
  "keywords": "链表,双指针",
  "title": "删除链表的倒数第 N 个结点",
  "desc": [
    {
      "content": "\n<p>给你一个链表，删除链表的倒数第 <code>n</code><em> </em>个结点，并且返回链表的头结点。</p><p><strong>进阶：</strong>你能尝试使用一趟扫描实现吗？</p><p> </p><p><strong>示例 1：</strong></p><img alt=\"\" src=\"https://cdn.jsdelivr.net/gh/doocs/leetcode@main/solution/0000-0099/0019.Remove%20Nth%20Node%20From%20End%20of%20List/images/remove_ex1.jpg\" style=\"width: 542px; height: 222px;\" /><pre><strong>输入：</strong>head = [1,2,3,4,5], n = 2<strong><br />输出：</strong>[1,2,3,5]</pre><p><strong>示例 2：</strong></p><pre><strong>输入：</strong>head = [1], n = 1<strong><br />输出：</strong>[]</pre><p><strong>示例 3：</strong></p><pre><strong>输入：</strong>head = [1,2], n = 1<strong><br />输出：</strong>[1]</pre><p> </p><p><strong>提示：</strong></p><ul>\t<li>链表中结点的数目为 <code>sz</code></li>\t<li><code>1 <= sz <= 30</code></li>\t<li><code>0 <= Node.val <= 100</code></li>\t<li><code>1 <= n <= sz</code></li></ul>",
      "language": "markdown"
    }
  ],
  "answer": [
    {
      "content": "",
      "language": "cpp"
    }
  ],
  "prepared": [
    [
      {
        "content": "",
        "language": "cpp"
      }
    ],
    [
      {
        "content": "",
        "language": "cpp"
      }
    ],
    [
      {
        "content": "",
        "language": "cpp"
      }
    ]
  ],
  "template": {
    "content": "struct ListNode\n{\n\tint val;\n\tListNode *next;\n\tListNode() : val(0), next(nullptr) {}\n\tListNode(int x) : val(x), next(nullptr) {}\n\tListNode(int x, ListNode *next) : val(x), next(next) {}\n};\n#include <vector>\nclass Solution\n{\npublic:\n\tListNode *removeNthFromEnd(ListNode *head, int n)\n\t{\n\t\tListNode empty_node(0, head);\n\t\tListNode *p = &empty_node;\n\t\tstd::vector<ListNode *> pv;\n\t\twhile (p != nullptr)\n\t\t{\n\t\t\tpv.push_back(p);\n\t\t\tp = p->next;\n\t\t}\n\t\tp = pv[pv.size() - 1 - n];\n\t\tp->next = p->next->next;\n\t\treturn empty_node.next;\n\t}\n};",
    "language": "cpp"
  },
  "node_id": "dailycode-b2dbc54134bf4e8a961f1b155e8c665b",
  "license": "csdn.net",
  "created_at": 1637894158,
  "topic_link": "https://bbs.csdn.net/topics/600469818"
}