19. 删除链表的倒数第N个节点

给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。

示例:

给定一个链表: 1->2->3->4->5, 和 n = 2.
当删除了倒数第二个节点后,链表变为 1->2->3->5.
说明:
给定的 n 保证是有效的。

代码

class Solution {
public:
    ListNode* removeNthFromEnd(ListNode* head, int n) {
        ListNode* first=head;
        while(n--!=0)
            first=first->next;
        if(!first)
            return head->next;
        ListNode* sec=head;
        while(first->next!=NULL){
            sec=sec->next;
            first=first->next;
        }
        sec->next=sec->next->next;
        return head;
    }
};
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4-...
    追云的帆阅读 192评论 0 1
  • 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 说明:给定的 n 保证是有效的。 删除...
    赵智雄阅读 188评论 0 0
  • 19. 删除链表的倒数第N个节点 给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。 示例: 给定一个...
    不爱去冒险的少年y阅读 157评论 0 0
  • 今天是21天助推计划第二天,昨天的作业还没来得及形成文字,话已经表达了。赶紧先完成今天的作业。 三点最大收获: 七...
    catherine_li阅读 495评论 4 0
  • 文字是一种神奇的字符。 它能温暖人心,让我们泪流满面。 它能记录万象,让我们了解外界。 我大学读的是中文专业。 但...
    守护桐林阅读 326评论 5 3