Reverse a String using linked list in Java

write a program to reverse a string in stack using linked list in c code example

Example: reverse a singly linked list in c

/** * C program to reverse a Singly Linked List */ #include #include /* Structure of a node */ struct node { int data; //Data part struct node *next; //Address part }*head; /* Functions used in the program */ void createList[int n]; void reverseList[]; void displayList[]; int main[] { int n, choice; /* * Create a singly linked list of n nodes */ printf["Enter the total number of nodes: "]; scanf["%d", &n]; createList[n]; printf["\nData in the list \n"]; displayList[]; /* * Reverse the list */ printf["\nPress 1 to reverse the order of singly linked list\n"]; scanf["%d", &choice]; if[choice == 1] { reverseList[]; } printf["\nData in the list\n"]; displayList[]; return 0; } /* * Create a list of n nodes */ void createList[int n] { struct node *newNode, *temp; int data, i; if[n data = data; // Link the data field with data head->next = NULL; // Link the address field to NULL temp = head; /* * Create n nodes and adds to linked list */ for[i=2; idata = data; // Link the data field of newNode with data newNode->next = NULL; // Link the address field of newNode with NULL temp->next = newNode; // Link previous node i.e. temp to the newNode temp = temp->next; } } printf["SINGLY LINKED LIST CREATED SUCCESSFULLY\n"]; } } /* * Reverse the order of nodes of a singly linked list */ void reverseList[] { struct node *prevNode, *curNode; if[head != NULL] { prevNode = head; curNode = head->next; head = head->next; prevNode->next = NULL; // Make first node as last node while[head != NULL] { head = head->next; curNode->next = prevNode; prevNode = curNode; curNode = head; } head = prevNode; // Make last node as head printf["SUCCESSFULLY REVERSED LIST\n"]; } } /* * Display entire list */ void displayList[] { struct node *temp; /* * If the list is empty i.e. head = NULL */ if[head == NULL] { printf["List is empty."]; } else { temp = head; while[temp != NULL] { printf["Data = %d\n", temp->data]; // Print the data of current node temp = temp->next; // Move to next node } } }

Video liên quan

Chủ Đề