删除链表中倒数第n个节点-LintCode
来源:互联网 发布:淘宝无线端分类链接 编辑:程序博客网 时间:2024/06/06 03:59
给定一个链表,删除链表中倒数第n个节点,返回链表的头节点。
注意事项:
链表中的节点个数大于等于n
样例:
给出链表1->2->3->4->5->null和 n = 2.
删除倒数第二个节点之后,这个链表将变成1->2->3->5->null.
挑战 :
O(n)时间复杂度
#ifndef C174_H#define C174_H#include<iostream>using namespace std;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 == NULL) return NULL; int len = 0; ListNode *l = head; while (l != NULL) { len++; l = l->next; } if (len < n||n<=0) return NULL; ListNode *node = new ListNode(-1); node->next = head; ListNode *p = node, *q = head; int count = len - n; while (count != 0) { p = p->next; q = q->next; count--; } p->next = q->next; q->next = NULL; return node->next; }};#endif
阅读全文
0 0
- lintCode-删除链表中倒数第n个节点
- lintcode-删除链表中倒数第n个节点-174
- LintCode- 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点(LintCode)
- LintCode 删除链表中倒数第n个节点
- lintcode ----删除链表中倒数第n个节点
- LintCode 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点-LintCode
- lintcode——删除链表中倒数第n个节点
- Lintcode 174.删除链表中倒数第n个节点
- LintCode-删除链表中倒数第n个节点
- lintcode 174 删除链表中倒数第n个节点
- LintCode : 删除链表中倒数第n个节点
- [LintCode]174.删除链表中倒数第n个节点
- LintCode 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点-LintCode
- lintcode删除链表中倒数第n个节点
- Lintcode删除链表中倒数第n个节点
- android 属性动画的基本使用
- 图像合并
- 计算机网络体系结构
- Oracle基本操作
- Spring配置事务
- 删除链表中倒数第n个节点-LintCode
- sql注入漏洞与如何解决
- “Emgu.CV.CvInvoke”的类型初始值设定项引发异常,无法加载 DLL“cvextern”: 找不到指定的模块
- bzoj 1965[Ahoi2005]SHUFFLE 快速乘+快速幂
- 七夕节的习俗有哪些?---众智云
- Movie
- linux服务器校对时间方法
- Oracle之单行函数
- POJ 2376 Cleaning Shifts