lintcode删除链表中倒数第n个节点
2017-08-29 11:35
405 查看
删除链表中倒数第n个节点
描述笔记
数据
评测
给定一个链表,删除链表中倒数第n个节点,返回链表的头节点。
注意事项
链表中的节点个数大于等于n
您在真实的面试中是否遇到过这个题?
Yes
样例
给出链表1->2->3->4->5->null和 n = 2.
删除倒数第二个节点之后,这个链表将变成1->2->3->5->null.
挑战
标签
相关题目
分析:利用上一题的思路即可,多加个判断
/**
* 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
int num=0;
ListNode *tmp=head;
ListNode *tmp_del=head;
while(tmp)
{
num++;
tmp=tmp->next;
}
if(num-n==0)//这里要加判断是否删除的是头结点
return head->next;
for(int i=0;i<num-n-1;i++) //找到要删除的前一个结点
tmp_del=tmp_del->next;
tmp_del->next=tmp_del->next->next;
return head;
}
};
删除链表中倒数第n个节点
描述笔记
数据
评测
总耗时: 79 ms
100% 数据通过测试.
相关文章推荐
- Lintcode删除链表中倒数第n个节点
- LintCode-删除链表中倒数第n个节点
- LintCode 删除链表中倒数第n个节点
- 删除链表中倒数第n个节点(LintCode)
- lintcode——删除链表中倒数第n个节点
- python_lintcode_372在O(1)时间复杂度删除链表节点_174删除链表中倒数第n个节点
- LintCode-174.删除链表中倒数第n个节点
- LintCode- 删除链表中倒数第n个节点
- LintCode 删除链表中倒数第n个节点
- Lintcode 174.删除链表中倒数第n个节点
- lintcode-删除链表中倒数第n个节点-174
- 删除链表中倒数第n个节点-LintCode
- [LintCode] 删除链表中倒数第n个节点
- 174. 删除链表中倒数第n个节点 (remove-nth-node-from-end-of-list)(c++)----lintcode面试题之链表
- 删除链表中倒数第n个节点-LintCode
- LeetCode(Remove Nth Node From End of List)删除链表倒数第n个节点
- 链表遍历一次删除倒数第N个节点
- 容易 删除链表中倒数第n个节点
- Java实现-删除链表中倒数第n个节点
- Java - 删除链表中倒数第n个节点