链表实现大数加法
标签: 算法
Description
你的任务是完成一条能实现加法功能的单向链表,需要实现的函数在头文件已给出。
假如现在有 123 与 234 两个数字,那么他们在链表中的存储结构将会是 : 3->2->1与 4->3->2
注意到这里的链表只允许从前端插入,你也可以把这个特殊的链表当做栈来处理。
输入的数字不会有负数且不会有前导0的输入。也就是说,输入的数字中不会出现0,更不会有0001这样的输入
代码
//main.cpp
#include "ListAdd.hpp"
using std::cout;
using std::endl;
using std::cin;
int main() {
string s1, s2;
// 0 < s1.length(),s2.length() <= 10000
cout << "Input two Numbers" << endl;
cin >> s1 >> s2;
List l1(s1), l2(s2);
List l3 = l1 + l2;
cout << "After " << l1 << " + " << l2 <<endl;
cout << l3 << endl << "Size : " << l3.size() << endl;
List l4;
l4 = l3 + l1;
cout << "After " << l3 << " + " << l1 << endl;
cout << l4 << endl << "Size : " << l4.size() << endl;
}
//ListAdd.hpp
#ifndef _LIST_ADD_
#define _LIST_ADD_