LintCode-删除链表中倒数第n个节点
来源:互联网 发布:java 自动生成代码 编辑:程序博客网 时间:2024/06/05 14:29
题目描述:给定一个链表,删除链表中倒数第n个节点,返回链表的头节点。
样例
给出链表1->2->3->4->5->null和 n = 2.
删除倒数第二个节点之后,这个链表将变成1->2->3->5->null.
做题思路:找到第n个结点之后,删除该结点,此题运用了之前找到倒数第n个结点的部分代码。
关键代码:ListNode *removeNthFromEnd(ListNode *head,int n) {
// write your code here
ListNode *dummy=new ListNode(0);
dummy->next=head;
int i;
ListNode *p=dummy;
for(i=0;i<n-1;i++)
{ if(p==NULL)
return NULL;
else { head=head->next;}
}
while(head->next!=NULL)
{ head=head->next;
p=p->next;
}
p->next=p->next->next;
return dummy->next;
}
做题感想:刚开始一直调试的是wrong answer.看到给的输入输出的数据,不知道是哪里错了,后来问了问同学,她告诉我,我删除的不是找到的那个结点,而是前一个,后来发现我用的p并不是头结点,而是指向了头结点。
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个节点
- 1012. 数字分类 (20)-PAT乙级
- LintCode-删除排序链表中的重复元素
- POJ 1321
- 初识Markdown
- Leetcode Maximum XOR of Two Numbers in an Array
- LintCode-删除链表中倒数第n个节点
- [LeetCode]506. Relative Ranks
- 三种创建节点的方法
- va_start和va_end使用详解
- sqlcookbook小结C1-C2
- LintCode-两两交换链表中的节点
- SLAM笔记(一)数学基础
- 自定义Dialog
- 《java语言程序设计》第十一章学习总结