将表示为链表的两个数字乘以 C++ 中的第三个列表
在本教程中,我们将编写一个程序,将两个表示为链表的数字相乘。
让我们看看解决问题的步骤。
初始化两个链表。
遍历两个链表并生成两个数字。
将结果数字相乘并将结果存储在变量中。
使用结果创建一个新列表。
示例
让我们看看代码。
#includeusing namespace std; struct Node { int data; struct Node* next; }; void addNewNode(struct Node** head, int new_data) { struct Node* newNode = new Node; newNode->data = new_data; newNode->next = *head; *head = newNode; } void multiplyTwoLinkedLists(struct Node* firstHead, struct Node* secondHead, struct Node** newLinkedListHead) { int _1 = 0, _2 = 0; while (firstHead || secondHead) { if (firstHead) { _1 = _1 * 10 + firstHead->data; firstHead = firstHead->next; } if (secondHead) { _2 = _2 * 10 + secondHead->data; secondHead = secondHead->next; } } int result = _1 * _2; while (result) { addNewNode(newLinkedListHead, result % 10); result /= 10; } } void printLinkedList(struct Node *node) { while(node != NULL) { cout << node->data << "->"; node = node->next; } cout << "NULL" &l 输出结果 如果你运行上面的代码,那么你会得到下面的结果。
3->2->1->NULL 2->1->NULL 6->7->4->1->NULL结论
如果您对本教程有任何疑问,请在评论部分提及。