Topic
Given a sorted linked list, delete all duplicates such this each element appear only once.
For example,
Given 1->1->2, return 1->2.
Given 1->1->2->3->3, return 1->2->3.
Analysis
Deletes a repeating element node in a linked list.
The topic is simple in nature and requires only a single traversal. It is important to note that you want to free the deleted node space.
AC Code
/*** Definition forsingly-linked list. * struct ListNode {*intVal * ListNode*next; * ListNode (int x): Val (x),Next(NULL) {} * };*/Class Solution {public:listnode* deleteduplicates (listnode* head) {if(head = = NULL | | head->Next= = NULL)returnHead ListNode*p= Head,*q= p->Next; while(P &&Q) {if(P->val = =Q->val) {ListNode*t=Q; P->Next=Q-Next;Q=Q-Next;//Release the node space you want to deleteDeleteT }Else{p = p->Next;Q=Q-Next; }//elif}// while returnHead }};
GitHub test Program source code
Leetcode Remove duplicates from Sorted List