#include <iostream>
using namespace std;
struct ListNode
{
int m_nValue;
ListNode *m_pNext;
};
void DeleteNode(ListNode **pListHead, ListNode *pToBeDeleted)
{
if(!pListHead||!pToBeDeleted)
return;
if(pToBeDeleted->m_pNext!=nullptr)
{
ListNode *pNext=pToBeDeleted->next;
pToBeDeleted->m_nValue=pNext;
pToBeDeleted->m_pNext=pNext->m_pNext;
delete pNext;
pNext=nullptr;
}
else if(pToBeDeleted==*pListHead)
{
delete pToBeDeleted;
pToBeDeleted=nullptr;
*pListHead=nullptr;
}
else
{
ListNode *pList=*pListHead;
while(pList->m_pNext!=pToBeDeleted)
{
pList=pList->m_pNext;
}
pList->m_pNext=nullptr;
delete pToBeDeleted;
pToBeDeleted=nullptr;
}
}
删除链表中的节点
最新推荐文章于 2024-06-29 01:13:46 发布