链表题目---4 删除链表中重复的结点 和 判断链表是否为回文链表
生活随笔
收集整理的這篇文章主要介紹了
链表题目---4 删除链表中重复的结点 和 判断链表是否为回文链表
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
刪除鏈表中重復(fù)的結(jié)點
/* struct ListNode {int val;struct ListNode *next;ListNode(int x) :val(x), next(NULL) {} }; */ class Solution { public:ListNode* deleteDuplication(ListNode* pHead){if(pHead == NULL){return NULL;}ListNode *prev = NULL; //用于刪除的結(jié)點, 是p1的前一個結(jié)點ListNode *p1 = pHead;ListNode *p2 = pHead->next;ListNode *result = pHead; //用于返回的第一個結(jié)點while(p2 != NULL){if(p1->val != p2->val){prev = p1;p1 = p2;p2 = p2->next;}else{while(p2!=NULL && (p2->val == p1->val)){p2 = p2->next;}if(prev != NULL){prev->next = p2;}else{result = p2;}p1 = p2;if(p2!=NULL){p2 = p2->next;}}}return result;} };判斷鏈表是否為回文鏈表
思路
總結(jié)
以上是生活随笔為你收集整理的链表题目---4 删除链表中重复的结点 和 判断链表是否为回文链表的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 链表题目---3 合并两个有序单链表
- 下一篇: 成都大熊猫繁育基地忘带学生证