174删除链表中倒数第n个节点
来源:互联网 发布:天津包子馅儿 知乎 编辑:程序博客网 时间:2024/06/05 14:21
题目描述:给定一个链表,删除链表中倒数第n个节点,返回链表的头节点。
样例
给出链表1->2->3->4->5->null和 n = 2.
删除倒数第二个节点之后,这个链表将变成1->2->3->5->null.
这个题目相当于在“返回链表倒数第n个节点”的基础上增加功能
注意点:1.删除节点p的关键在于要找到p的前一个节点,需要定义一个新的节点保存遍历得到的倒数第n个节点
2.其次就是特殊情况的判断。
/** * Definition of ListNode * class ListNode { * public: * int val; * ListNode *next; * ListNode(int val) { * this->val = val; * this->next = NULL; * } * } */class Solution {public: /** * @param head: The first node of linked list. * @param n: An integer. * @return: The head of linked list. */ ListNode *removeNthFromEnd(ListNode *head, int n) { ListNode*p=head; ListNode*q=head; ListNode*m; if(head==NULL||head->next==NULL) { return NULL; } while(n>0&&q!=NULL) { q=q->next; n--; } while(q!=NULL) { q=q->next; m=p; p=p->next; } if(p==head) { head=head->next; } else { m->next=m->next->next; } return head; // write your code here }};
阅读全文
0 0
- 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点
- 删除链表中倒数第N个节点
- 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点
- 几个非常好的opencv教程【持续更新】
- 爬虫学习:scrapy相关的知识
- 二叉树c语言实现 bittree.h 和 bittree.h
- Redis缓存的具体使用场景
- C语言杨辉三角
- 174删除链表中倒数第n个节点
- jQuery源码阅读(七)--init()遗留部分buildFragment()函数
- css动画之animation
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- Activity的生命周期笔记
- ROS机器人操作系统的安装、配置与初级教程 16
- OutOfMemory模拟(一)
- 【 codeforces 749C 】 Voting
- C#选择文件、选择文件夹、打开文件(或者文件夹)