This is an to practice traversing a linked list. Given a pointer to the head node of a linked list, print each node's data element, one per line. If the head pointer is null (indicating the list is empty), there is nothing to print.
Example:
Input:
21613
Output:
1613
Approach:
Java
public class PrintLinkedList {public static void main(String[] args) {SinglyLinkedList llist = new SinglyLinkedList();llist.insertNode(16);llist.insertNode(13);printLinkedList(llist.head);}static class SinglyLinkedListNode {public int data;public SinglyLinkedListNode next;public SinglyLinkedListNode(int nodeData) {this.data = nodeData;this.next = null;}}static class SinglyLinkedList {public SinglyLinkedListNode head;public SinglyLinkedListNode tail;public SinglyLinkedList() {this.head = null;this.tail = null;}public void insertNode(int nodeData) {SinglyLinkedListNode node = new SinglyLinkedListNode(nodeData);if (this.head == null) {this.head = node;} else {this.tail.next = node;}this.tail = node;}}static void printLinkedList(SinglyLinkedListNode head) {SinglyLinkedListNode temp = head;if (head == null)return;while (temp != null) {System.out.println(temp.data);temp = temp.next;}}}
C++
#include <bits/stdc++.h>using namespace std;class SinglyLinkedListNode{public:int data;SinglyLinkedListNode *next;SinglyLinkedListNode(int node_data){this->data = node_data;this->next = nullptr;}};class SinglyLinkedList{public:SinglyLinkedListNode *head;SinglyLinkedListNode *tail;SinglyLinkedList(){this->head = nullptr;this->tail = nullptr;}void insert_node(int node_data){SinglyLinkedListNode *node = new SinglyLinkedListNode(node_data);if (!this->head){this->head = node;}else{this->tail->next = node;}this->tail = node;}};void free_singly_linked_list(SinglyLinkedListNode *node){while (node){SinglyLinkedListNode *temp = node;node = node->next;free(temp);}}void printLinkedList(SinglyLinkedListNode *head){SinglyLinkedListNode *temp = head;if (head == NULL)return;while (temp != NULL){cout << temp->data << endl;temp = temp->next;}}int main(){SinglyLinkedList *llist = new SinglyLinkedList();int llist_count = 2;llist->insert_node(16);llist->insert_node(13);printLinkedList(llist->head);return 0;}
No comments:
Post a Comment