19. Remove Nth Node From End of List

来源:互联网 发布:自学plc编程先学什么 编辑:程序博客网 时间:2024/06/05 00:49

题目摘要
删除单向链表倒数第n个元素


解法
1. 先计算整个列表的长度len,然后转换成删除链表第len - n + 1个元素
2. 两个指针指向傀儡节点,第二个向后移动n次,同时向后移动两个节点,第二个节点移动到末尾时,删除第一个节点的下一个节点


注意
因为第一个节点可能被删除,所以需要新建一个傀儡节点指向第一个节点


原题
Given a linked list, remove the nth node from the end of list and return its head.
For example,

Given linked list: 1->2->3->4->5, and n = 2.
After removing the second node from the end, the linked list becomes 1->2->3->5.

Note:
Given n will always be valid.
Try to do this in one pass.

0 0
原创粉丝点击