lintcode ----删除链表中倒数第n个节点
2016-05-12 16:37
274 查看
思路: 声明两个指针,指向自己定义的一个指向head 的节点,其中一个后移n-1之后,再一起移动,直到先移动的那个指针到末尾,另一个则指向要删除的前一个节点,做删除操作
ListNode *removeNthFromEnd(ListNode *head, int n) { // write your code here if(head==NULL) return head; ListNode *myhead = new ListNode(0); myhead->next = head; ListNode *p = myhead; ListNode *q = myhead; for(int i=0;i<n;i++) { p=p->next; } while(p->next!=NULL) { p=p->next; q=q->next; } p=q->next; q->next=q->next->next; delete p; return myhead->next; }
相关文章推荐
- Linux 循环
- hdu 1811(缩点+拓扑排序+并查集)
- 课堂作业二
- Java第六次作业
- vi 整行 多行 复制与粘贴
- MySQL中的if和case语句使用总结
- spring依赖注入
- 【ORACLE】oracle的一些操作记录
- Hbase简介及常用命令
- 第十二周上机实践项目-阅读程序-4
- Codeforces Round #352 (Div. 2) A. Summer Camp 水题
- 经典qq表情插件(html+nodejs应用)
- mapping 详解1(mapping type)
- (原)opencv直线拟合fitLine
- FZU2232(二分图)
- swt layout 布局
- 原生的SlidingMeum侧滑
- opencv Mat 理解(1)
- Opengl编程指南第二章:状态管理、几何绘图
- 代码阅读工具:Source Navigator和Source Insight