剑指offer:2.3.3链表:删除第一个含有某值节点

来源:互联网 发布:手机淘宝怎样退货流程 编辑:程序博客网 时间:2024/06/07 19:14
#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;}

0 0
原创粉丝点击