删除链表倒数第n个元素
来源:互联网 发布:知味记下载 编辑:程序博客网 时间:2024/05/17 22:07
问题描述:给定一个链表,删除链表中倒数第n个结点,返回链表的头结点 如给定1->2->3->4->5->NULL和2,返回1->2->3->5->NULL.
解题思路:这题与找到链表第n个元素差不多,就多了一步删除,设置两个指针,一个指针先走到指定位置,另一个与现在这个指针一起走,找到结点后,一个覆盖另一个即可
解题思路:class Solution {
public:
ListNode *removeNthFromEnd(ListNode *head, int n) {
// write your code here
ListNode *dummy= new ListNode(0);
dummy->next=head;
head=dummy;
ListNode *one=head->next;
ListNode *two=head->next;
for(int i=0;i<n;i++){
one=one->next;
}
if(one==NULL){
return head->next->next;
}
while(one->next!=NULL){
one=one->next;
two=two->next;
}
two->next=two->next->next;
public:
ListNode *removeNthFromEnd(ListNode *head, int n) {
// write your code here
ListNode *dummy= new ListNode(0);
dummy->next=head;
head=dummy;
ListNode *one=head->next;
ListNode *two=head->next;
for(int i=0;i<n;i++){
one=one->next;
}
if(one==NULL){
return head->next->next;
}
while(one->next!=NULL){
one=one->next;
two=two->next;
}
two->next=two->next->next;
};
感悟:这个题就是找到倒数第n个元素与删除该结点两种算法的结合,思路很简单。
0 0
- 删除链表的倒数第n个元素
- 删除链表倒数第N个元素
- 删除链表倒数第n个元素
- Remove Nth Node From End of List 链表删除倒数第N个元素@LeetCode
- 链表4 ---- 如何一次遍历删除链表的倒数第n个元素
- Leetcode Remove Nth Node From End of List 删除链表倒数第n个元素
- 返回线性链表的倒数第n个元素
- 找出链表倒数第 n 个元素(算法)
- 移除链表倒数第n个元素
- 删除单链表的倒数第n个元素
- 删除单向链表倒数第n个节点
- leetcodeSubmission Details 删除链表倒数第n个结点
- 删除链表的倒数第n个结点
- 删除链表的倒数第N个节点
- 链表遍历一次删除倒数第N个节点
- LeetCodet题解--19. Remove Nth Node From End of List(删除链表的倒数第n个元素)
- LeetCode[19]Remove Nth Node From End of List 删除链表倒数第n个元素
- 数据结构链表 -- 查找倒数第N个元素、中间元素、创建链表
- 硬件干货分享-(一)CPU-PC的大脑
- zookeeper的安装与配置详解
- 青岛共享单车体验
- 算典04_习题_01_UVA-1589
- C/C++字节对齐
- 删除链表倒数第n个元素
- spring boot注释
- Win7下U盘安装Ubuntu14.04双系统步骤详解
- STL函数代码解释
- SQLite的使用——OC代码
- H5canvas折线图的绘制
- 第六届蓝桥杯牌型种数
- HTTP协议
- 51单片机常用寄存器