实现一个算法,删除单向链表中间的某个结点,假定你只能访问该结点。 给定带删除的节点,请执行删除操作,若该节点为尾节点,返回false,否则返回true
class ListNode
{
public:
int val;
ListNode *next;
bool removeNode(ListNode * pNode);
ListNode (int x)
{
val = x;
}
};
bool ListNode::removeNode(ListNode* pNode)
{
if(pNode==NULL)
return false;
if (pNode->next==NULL)
{
delete pNode;
return false;
}
ListNode* temp=pNode->next;
pNode->val=temp->val;
pNode->next=temp->next;
delete pNode;
return true;
}