删除链表中倒数第n个节点
来源:互联网 发布:电脑3.0端口怎么设置 编辑:程序博客网 时间:2024/06/16 12:13
描述
给定一个链表,删除链表中倒数第n个节点,返回链表的头节点。
注意事项
链表中的节点个数大于等于n
样例
给出链表1->2->3->4->5->null和 n = 2.
删除倒数第二个节点之后,这个链表将变成1->2->3->5->null.
思考
- 如果是第一个元素,直接删除返回 temp1
- 如果不是,则找到前一个元素,删除后返回指向头结点的指针
代码
// By Lentitude/** * 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) { // write your code here if (!head) return NULL; ListNode *l1 = head, *temp1 = head; int num = 0; // 计算节点数量 while (l1){ ++num; l1 = l1->next; } int index = 0; while (temp1){ ++index; /** * 如果是第一个元素,直接删除返回 temp1 * 如果不是,则找到前一个元素,删除后返回指向头结点的指针 */ if (index == 1 && num == n){ temp1 = temp1->next; return temp1; } if (index == num - n){ temp1->next = temp1->next->next; return head; } temp1 = temp1->next; } }};
0 0
- 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点
- 删除链表中倒数第N个节点
- 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点
- svm算法 最通俗易懂讲解
- 欢迎使用CSDN-markdown编辑器
- CAN总线冲突裁决
- burpsuite_pro_v1.7.11使用介绍
- eclipse如何导入项目和文件
- 删除链表中倒数第n个节点
- poj 3468 线段树
- java折线图
- CAN报文格式
- Android 代码优化工具FindBugs
- CentOS 6.8下LAMP+SVN配置
- tensorflow在win上的安装常见错误及正确安装步骤(包含anaconda spyder)
- Spring-11 , bean的生命周期
- android java进程管理(二)之zygote