实现一个算法,删除单向链表中间的某个结点,假定你只能访问该结点。
给定带删除的节点,请执行删除操作,若该节点为尾节点,返回false,否则返回true
这个其实是比较水的把后一个节点的内容覆盖当前节点,删除后一个节点。本质上并没有删除此节点.。工程上存在很多的问题,纯粹为了出题而出题。没啥意思。
/*
struct ListNode {
int val;
struct ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};*/
class Remove {
public:
bool removeNode(ListNode* pNode) {
if(!pNode||!pNode->next)
return false;
ListNode* temp=pNode->next;
pNode->val=temp->val;
pNode->next=temp->next;
return true;
}
};