实现一个算法,删除单向链表中间的某个结点,假定你只能访问该结点。
给定带删除的节点,请执行删除操作,若该节点为尾节点,返回false,否则返回true
/* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) {} };*/ class Remove { public: bool removeNode(ListNode* pNode) { // write code here if(!pNode || !pNode->next) return false; ListNode *next = pNode->next; pNode->val = next->val; pNode->next = next->next; delete next; return true; } }; //记录当前节点的下一个节点,将下一节点的值赋予此节点,随后删除下一节点。
原文:http://www.cnblogs.com/xiuxiu55/p/6657260.html