#include "iostream"
#include <string>
using namespace std;
struct ListNode{
int data;
ListNode *next;
};
void removeNode(ListNode **pHead,int value)
{
if (*pHead == NULL)
return;
ListNode *tobedelete=NULL;
if ((*pHead)->data == value)
{
tobedelete = *pHead;
*pHead = (*pHead)->next;
}
else
{
ListNode *pNode = *pHead;
while (pNode->next != NULL&&pNode->next->data != value)
pNode = pNode->next;
if (pNode->next != NULL&&pNode->next->data == value)
{
tobedelete = pNode->next;
pNode->next = pNode->next->next;
}
}
if (tobedelete!=NULL)
{
delete tobedelete;
tobedelete = NULL;
}
}
void addToTail(ListNode **pHead,int value)
{
ListNode *pNew = new ListNode();
pNew->data = value;
pNew->next = NULL;
if (*pHead == NULL)
*pHead = pNew;
else
{
ListNode *pNode = *pHead;
while (pNode->next != NULL)
pNode = pNode->next;
pNode->next = pNew;
}
}
int main()
{
ListNode *pHead=NULL;
addToTail(&pHead, 1);
addToTail(&pHead, 2);
addToTail(&pHead, 3);
removeNode(&pHead, 3);
cout << pHead->data << endl;
cout << pHead->next->data << endl;
system("pause");
return 0;
}
剑指offer:2.3.3链表:删除第一个含有某值节点
最新推荐文章于 2020-04-15 00:25:46 发布