struct Node {
int value;
Node *next;
};
Viết hàm Node* (Node* head); xoá các node trùng lặp khỏi danh sách liên kết, chỉ giữ lại lần xuất hiện đầu tiên.
mn giúp em với em viết cả ct thì đúng nhưng viết đoạn code hàm này thì sai ạ.
struct Node {
int value;
Node *next;
};
Viết hàm Node* (Node* head); xoá các node trùng lặp khỏi danh sách liên kết, chỉ giữ lại lần xuất hiện đầu tiên.
mn giúp em với em viết cả ct thì đúng nhưng viết đoạn code hàm này thì sai ạ.
Vậy thì code của bạn đâu rồi?
Nếu bạn không đăng code của bạn lên, topic sẽ tự động khoá sau 24h.
Node* deleteDuplicates(Node* head){
Node* ptr = head;
while(ptr != NULL){
Node *ptr2 = ptr;
while(ptr2->next != NULL){
if(ptr->value == ptr2->next->value){
Node* n = ptr2->next;
ptr2->next = ptr2->next->next;
delete(n);
}
else ptr2 = ptr2->next;
}
ptr = ptr->next;
}
return head;
}
Sai thế nào vậy bạn, cho ví dụ về các trường hợp sai của bạn được không?