Multiply two linked lists Java
- Get link
- X
- Other Apps
PROGRAM TO MULTIPLY TWO NUMBERS REPRESENTED BY LINKED LISTS
class MAIN { // Linked list node static class node { int data; node next; }; // Function to create a new node // with given data static node newNode(int data) { node new_node = new node(); new_node.data = data; new_node.next = null; return new_node; } // Function to insert a node at the // beginning of the Linked List static node push( node head_ref, int new_data) { // allocate node node new_node = newNode(new_data); // link the old list off the new node new_node.next = (head_ref); // move the head to point to the new node (head_ref) = new_node; return head_ref; } // Multiply contents of two linked lists static long multiplyTwoLists ( node first, node second) { int num1 = 0, num2 = 0; // Generate numbers from linked lists while (first != null || second != null) { if (first != null) { num1 = num1*10 + first.data; first = first.next; } if (second != null) { num2 = num2*10 + second.data; second = second.next; } } // Return multiplication of // two numbers return num1*num2; } // A utility function to print a linked list static void printList( node node) { while(node != null) { System.out.printf("%d", node.data); if(node.next != null) System.out.printf("->"); node = node.next; } System.out.printf("\n"); } // Driver code public static void main(String args[]) { node first = null; node second = null; // create first list 9.4.6 first = push(first, 6); first = push(first, 4); first = push(first, 9); System.out.printf("First List is: "); printList(first); // create second list 8.4 second = push(second, 4); second = push(second, 8); System.out.printf("Second List is: "); printList(second); // Multiply the two lists and see result System.out.printf("Result is: "); System.out.println(multiplyTwoLists(first, second)); } }
OUTPUT
First List is: 9->4->6 Second List is: 8->4 Result is: 79464
- Get link
- X
- Other Apps
Comments
Post a Comment