leetcode:Remove Nth Node From End of List
2014-04-30 15:10
453 查看
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ //这道题比较简单,但是要想清楚当删除链表头节点,中间节点和尾节点三种情况 class Solution { public: ListNode *removeNthFromEnd(ListNode *head, int n) { ListNode *kp=head; ListNode *mp=head; ListNode *pre=mp; int step=0; while(kp->next!=NULL && step<n-1 ) { kp=kp->next; step++; } while(kp->next!=NULL) { kp=kp->next; pre=mp; mp=mp->next; } if(pre==head && pre==mp) { head=pre->next; pre->next=NULL; delete pre; } else { pre->next=mp->next; mp->next=NULL; delete mp; } return head; } };
相关文章推荐
- CCSpriteBatchNode读取plist
- 为什么我要用 Node.js? 案例逐一介绍
- node.js 创建第一个web应用
- win7 64 安装nodejs canvas
- (译)Node.js的模块-exports和module.exports
- 使用forever运行nodejs应用
- Node JS 快速制作图片缩略图
- 跨平台的.NET集成开发环境:MonoDevelop
- Nodejs 使用supervison 提高开发效率
- Node.js
- Hadoop single Node cluster
- 【leetcode】Populating Next Right Pointers in Each Node
- struct BsTreeNode
- LeetCode刷题笔录 Populating Next Right Pointers in Each Node
- Win7 之 NodeJS 安装
- 使用PDFKit和Node.js生成服务器端PDF文件
- nodejs request模块gzip response的解压问题
- 在AODV中添加恶意节点:NS2: Adding Malicious Node to AODV修改版
- inode-软链接与硬链接
- Node.js学习笔记(3) - 简单的curd