/**

  • struct ListNode {
  • int val;
  • struct ListNode *next;
  • };
  • C语言声明定义全局变量请加上static,防止重复定义 / /*
  • 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
  • @param head ListNode类
  • @param n int整型
  • @return ListNode类 / struct ListNode removeNthFromEnd(struct ListNode* head, int n ) { int s = 0; struct ListNode* L = head; while (L != NULL) { s++; L = L->next; } struct ListNode* pre = head; int k = s - n; if (k == 0) { return pre->next; } for (int i = 0; i < k - 1; i++) { pre = pre->next; } pre->next = pre->next->next; return head; }