Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Implement a function in the following C++ code to check if a linked list is a palindrome. #include using namespace std; typedef struct linked_list{ int

Implement a function in the following C++ code to check if a linked list is a palindrome.

#include

using namespace std;

typedef struct linked_list{

int data;

struct linked_list *next;

}Linked_list;

int list_add(Linked_list **head, int d)

{

Linked_list *l = new Linked_list;

if(l == NULL) return 0;

Linked_list *t = *head;

l->data = d;

l->next = NULL;

if(*head == NULL){

*head = l;

return 1;

}

while(t->next != NULL){

t = t->next;

}

t->next = l;

return 1;

}

int list_remove_dup(Linked_list *head)

{

Linked_list *current;

Linked_list *previous;

linked_list *runner;

linked_list *tmp;

if(head == NULL) return 0;

if(head->next == NULL) return 1;

current = head->next;

previous = head;

while(current != NULL){

runner = head;

while(runner != current){

// remove node if equal

if(runner->data == current->data){

tmp = current;

current = current->next;

previous->next = current;

delete tmp;

break;

}

runner = runner->next;

}

if(runner == current){

current = current->next;

previous = previous->next;

}

}

}

int main(int argc, char* argv[])

{

Linked_list *head = NULL;

Linked_list *l;

list_add(&head, 1);

list_add(&head, 1);

list_add(&head, 2);

list_add(&head, 3);

list_add(&head, 9);

list_add(&head, 4);

list_add(&head, 1);

list_add(&head, 5);

cout << "before" << endl;

l = head;

while(l!=NULL){

cout << l->data << endl;

l = l->next;

}

list_remove_dup(head);

cout << "after remove dup " << endl;

l = head;

while(l!=NULL){

cout << l->data << endl;

l = l->next;

}

return 0;

}

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Harness The Power Of Big Data The IBM Big Data Platform

Authors: Paul Zikopoulos, David Corrigan James Giles Thomas Deutsch Krishnan Parasuraman Dirk DeRoos Paul Zikopoulos

1st Edition

0071808183, 9780071808187

More Books

Students also viewed these Databases questions