Example #1
0
int main() {

    ListNode *tmp = NULL;

    // construct input list 1
    ListNode *l1 = new ListNode(9);
    tmp = new ListNode(8);
    l1->next = tmp;
    // tmp->next = new ListNode(1);

    // construct input list 2
    ListNode *l2 = new ListNode(1);
    // tmp = new ListNode(9);
    // l2->next = tmp;
    // tmp->next = new ListNode(4);

    Solution soln;
    ListNode *result = soln.addTwoNumbers(l1, l2);

    // test the output
    while(result) {
        int value = result->val;
        result = result->next;
        cout << value << " ";
    }

    cout << endl;

    return 0;
}
Example #2
0
int main() {
    ListNode* l1 = new ListNode(5);
    ListNode* l2 = new ListNode(5);
    Solution* so = new Solution();
    printResult(so->addTwoNumbers(l1, l2));
    return 0;
}
int main() {
	ListNode* a = new ListNode(2);
	ListNode* tmp = a;
	tmp->next = new ListNode(4);
	tmp = tmp->next;
	tmp->next = new ListNode(3);

	ListNode* b = new ListNode(5);
	tmp = b;
	tmp->next = new ListNode(6);
	tmp = tmp->next;
	tmp->next = new ListNode(4);

	Solution s;
	ListNode* result = s.addTwoNumbers(a, b);

	// 查看结果是否正确
	while(result != NULL) {
		cout << result->val << ' ';
		result = result->next;
	}
	cout << endl;

	return 0;
}
Example #4
0
int main(int argc, char const *argv[])
{
	ListNode* list1;
	ListNode* list2;

	ListNode* l1node1 = new ListNode(2);
	ListNode* l1node2 = new ListNode(4);
	ListNode* l1node3 = new ListNode(3);

	ListNode* l2node1 = new ListNode(5);
	ListNode* l2node2 = new ListNode(6);
	ListNode* l2node3 = new ListNode(3);
	ListNode* l2node4 = new ListNode(6);

	l1node1->next = l1node2;
	l1node2->next = l1node3;

	l2node1->next = l2node2;
	l2node2->next = l2node3;
	l2node3->next = l2node4;

	list1 = l1node1;
	list2 = l2node1;

	Solution s;
	ListNode* psum = s.addTwoNumbers(list1, list2);
	while (psum) {
		std::cout << psum->val << std::endl;
		psum = psum->next;
	}
	return 0;
}
Example #5
0
int main()
{
	ListNode *l1 = NULL;
	ListNode *l2 = NULL;

	l1 = new ListNode(2);
	l1->next = new ListNode(4);
	l1->next->next = new ListNode(3);

	l2 = new ListNode(5);
	l2->next = new ListNode(6);
	l2->next->next = new ListNode(4);

	Solution solution;
	ListNode *result = solution.addTwoNumbers(l1, l2);

	while (result != NULL)
	{
		cout << result->val << "->";
		result = result->next;
	}
	
	system("pause");
	return 0;
}
int main(){
	ListNode *head1 = NULL;
	head1 = new ListNode(0);
	ListNode *p = head1;
	int tt[4] = {1,2,3,4};
	for (int i=0; i!=4; ++i){
		p->next = new ListNode(tt[i]);
		p = p->next; 
	}
	ListNode *head2 = NULL;
	head2 = new ListNode(0);
	ListNode *q = head2;
	int t[3] = {1, 2, 3};
	for (int i=0; i!=3; ++i){
		q->next = new ListNode(t[i]);
		q = q->next; 		
	}
	
	Solution so;
	ListNode *res = NULL;
	res = so.addTwoNumbers(head1->next, head2->next);
	while (res != NULL){
		cout << res->val << endl;
		res = res->next;
	}
	
}
Example #7
0
bool equalTest(int v1, int v2)
{
	ListNode *l1 = createList(v1, true);
	ListNode *l2 = createList(v2, true);
	ListNode *lsum = createList(v1 + v2, true);
	return equalList(sln.addTwoNumbers(l1, l2), lsum);
}
Example #8
0
int main(int argc, char *argv[]) {
    ListNode a1(0), b1(7), b2(3);
    b1.next = &b2;
    Solution k;
    k.addTwoNumbers(&a1, &b1);
    return 0;
}
int main(int argc, char *argv[]) {
	Solution *s = new Solution;
	
	ListNode *a1 = new ListNode(9);
	ListNode *a2 = new ListNode(4);
	ListNode *a3 = new ListNode(3);
//	a1->next = a2;
//	a2->next = a3;
	
	ListNode *b1 = new ListNode(1);
	ListNode *b2 = new ListNode(9);
	ListNode *b3 = new ListNode(9);
	ListNode *b4 = new ListNode(9);
	ListNode *b5 = new ListNode(9);
	ListNode *b6 = new ListNode(9);
	ListNode *b7 = new ListNode(9);
	ListNode *b8 = new ListNode(9);
	ListNode *b9 = new ListNode(9);
	ListNode *b10 = new ListNode(9);
	b1->next = b2;
	b2->next = b3;
	b3->next = b4;
	b4->next = b5;
	b5->next = b6;
	b6->next = b7;
	b7->next = b8;
	b8->next = b9;
	b9->next = b10;
	
	ListNode *c1 = s->addTwoNumbers(a1, b1);
//	while (c1) {
//		cout << c1->val << endl;
//		c1 = c1->next;
//	}
}
Example #10
0
int main(int argc, char const *argv[])
{
    ListNode test1(6);
    ListNode test2(2);
    ListNode test3(5);
    ListNode test4(4);
    ListNode test5(5);
    ListNode test6(6);
    ListNode test7(9);

    test1.next = &test2;
    //test2.next = &test3;
    //test3.next = &test4;
    test4.next = &test5;
    test5.next = &test6;
    test6.next = &test7;

    printList(&test1);
    printList(&test4);

    Solution a;

    printList(a.addTwoNumbers(&test1, &test4));

    system("PAUSE");

    return 0;
}
Example #11
0
int main() {
    int t, n;
    Solution s;
    while (cin >> n) {
        ListNode *a = new ListNode(0),*b = new ListNode(0);
        ListNode *pa = a, *pb = b;
        int tmp = n;

        while (n--) {
            cin >> t;
            pa =addValAndCreateNewNode(pa, t);
        }

        while (tmp--) {
            cin >> t;
            pb = addValAndCreateNewNode(pb, t);
        }
        s.addTwoNumbers(a, b);
        while (s != nullptr) {
            cout<<s->val<<endl;
            s = s->next;
        }
    }
    return 0;
}
Example #12
0
int main() {
    ListNode* l1 = initList(9);
    ListNode* l2 = initList(9999991);
    Solution s;
    ListNode* sum = s.addTwoNumbers(l1, l2);
    return 0;
}
Example #13
0
int main()
{
	Solution solution;
	ListNode* result;
	ListNode* input1;
	ListNode* input2;
	ListNode* head1;
	ListNode* head2;

	
	//Testcase1:
	head1=new ListNode(9);
	input1=head1;

	head1->next=new ListNode(8);
	head1=head1->next;

	head2=new ListNode(1);
	input2=head2;
	

	/*
	//Testcase2:
	head1=new ListNode(2);
	input1=head1;

	head1->next=new ListNode(4);
	head1=head1->next;

	head1->next=new ListNode(3);
	head1=head1->next;

	head2=new ListNode(5);
	input2=head2;

	head2->next=new ListNode(6);
	head2=head2->next;

	head2->next=new ListNode(4);
	head2=head2->next;
	*/
	
	head1=new ListNode(9);
	input1=head1;

	head1->next=new ListNode(8);
	head1=head1->next;
	
	head2=new ListNode(1); 
	input2=head2;
	//output:[0 9]
	
	result=solution.addTwoNumbers(input1,input2);
	while(result!=NULL)
  	{
    	cout<<result->val<<endl;
    	result=result->next;
    } 

}
int main(void)
{
    // Build two lists
    ListNode a1(1);
    ListNode a2(2);
    ListNode a3(3);
    a1.next = &a2;
    a2.next = &a3;
    a3.next = NULL;

    ListNode b1(4);
    ListNode b2(5);
    ListNode b3(6);
    b1.next = &b2;
    b2.next = &b3;
    b3.next = NULL;

    ListNode* a = &a1;
    ListNode* b = &b1;

    // Add two lists
    Solution solution;
    ListNode* res = solution.addTwoNumbers(a,b);
    printList(res);





}
int main()
{
    ListNode *p1 = new ListNode( 2 );
    ListNode *p2 = new ListNode( 4 );
    ListNode *p3 = new ListNode( 3 );
    p1->next = p2;
    p2->next = p3;


    ListNode *l1 = new ListNode( 5 );
    ListNode *l2 = new ListNode( 6 );
    ListNode *l3 = new ListNode( 6 );
    ListNode *l4 = new ListNode( 9 );
    ListNode *l5 = new ListNode( 9 );

    l1->next = l2;
    l2->next = l3;
    l3->next = l4;
    l4->next = l5;

    ListNode *a1 = new ListNode( 9 );
    ListNode *a2 = new ListNode( 8 );
    ListNode *b1 = new ListNode( 1 );
    ListNode *b2 = new ListNode( 9 );
    a1->next = a2;
    //b1->next = b2;

    Solution sol;
    sol.print_list( sol.addTwoNumbers( a1, b1 ) );

    return 0;
}
//调试
int main()
{
    ListNode *h1, **t1=&h1;
    ListNode *h2, **t2=&h2;
    int x;
    while(cin>>x, x){
        ListNode *node = new ListNode(x);
        *t1 = node;
        t1 = &node->next;
    }

    while(cin>>x, x){
        ListNode *node = new ListNode(x);
        *t2 = node;
        t2 = &node->next;
    }

    Solution solution;
    ListNode *ans = solution.addTwoNumbers(h1, h2);
    while(ans){
        cout << ans->val << ' ';
        ans = ans->next;
    }
    return 0;
}
int main(int argc, const char *argv[]) {
    ListNode *l1 = new ListNode(5);
    //ListNode *c1 = l1, *t1;
    //t1 = new ListNode(4);
    //c1->next = t1;
    //c1 = t1;
    //t1 = new ListNode(3);
    //c1->next = t1;
    //c1 = t1;

    ListNode *l2 = new ListNode(5);
    //ListNode *c2 = l2, *t2;
    //t2 = new ListNode(1);
    //c2->next = t2;
    //c2 = t2;
    //t2 = new ListNode(4);
    //c2->next = t2;
    //c1 = t2;
    print_list(l1);
    print_list(l2);

    Solution s;

    ListNode *result = s.addTwoNumbers(l1, l2);
    print_list(result);
    return 0;
}
Example #18
0
int main(int argc, char *argv[])
{
	ListNode ln0(0);
	ListNode ln1(1);
	ListNode ln2(2);
	ListNode ln3(3);
	ListNode ln4(4);
	ListNode ln5(5);
	ListNode ln6(6);
	ListNode ln7(7);
	ListNode ln8(4);
	ListNode ln9(9);

	ListNode *head = NULL;

	ln2.next = &ln4;
	ln4.next = &ln9;
	ln5.next = &ln6;
	//ln6.next = &ln9;

	Solution so;
	head = so.addTwoNumbers(&ln2, &ln5);
	while (head)
	{
		std::cout << head->val << " ";
		head = head->next;
	}
	std::cout << std::endl;
	return 0;
}
Example #19
0
int main()
{
    ListNode l1(3);
    ListNode l2(2);
    Solution s;
    ListNode* ans =s.addTwoNumbers(&l1,&l2);
    cout << ans->val;
}
Example #20
0
int main()
{
	int src[][3]=
	{
	{9,9,0},
	{1,0,5},
	{2,5,6}
	};
	int a[]={1,2,3,4};
	int b[]={7,8,9,0};
	
	ListNode *la=new ListNode(0),*lb=new ListNode(0);
	ListNode *hla=la,*hlb=lb;
	la->val=a[0];lb->val=b[0];
	int size1=sizeof(a)/sizeof(int),count=size1;
	count--;
	while(count--)
	{
		la->next=new ListNode(a[size1-1-count]);
		lb->next=new ListNode(b[size1-1-count]);
		la=la->next;
		lb=lb->next;
	}
	Solution s;
	ListNode *result=s.addTwoNumbers(hla,hlb);
	
	while(1)
	{
		cout<<result->val<<endl;
		if(result->next!=NULL)
			result=result->next;
		else
			break;
	}
	//count=size1;
	//la=hla;lb=hlb;
	//while(count--)
	//{
	//	cout<<la->val<<endl;
	//	la=la->next;
	//}
	
	//ListNode<int>* a=new ListNode<int>(2);
	//vector<vector<int> >srcv(sizeof(src)/sizeof(src[0]),vector<int>(sizeof(src[0])/sizeof(int)));
	

	//for(size_t i=0;i<srcv.size();i++)
	//{
	//	for(size_t j=0;j<srcv[0].size();j++)
	//	{
	//		srcv[i][j]=src[i][j];
	//	}
	//}
	

	return 0;
}
void Test()
{
    ListNode a1(1);
    ListNode a2(8);
    a1.next = &a2;
    ListNode b1(0);
    Solution s;
    s.addTwoNumbers(&a1, &b1);
}
Example #22
0
int main( int argc, const char* argv[] )
{
    ListNode* first = construct( { 2, 4, 3 } );
    ListNode* second = construct( { 5,6,4 } );

    Solution theSolution;
    auto theResult = theSolution.addTwoNumbers( first, second );

    return 0;
}
Example #23
0
TEST(addTwoNumbers, StatementExample) {
	Solution sol;
	ListNode *num1 = vector2list(std::vector<int> {2, 4, 3});
	ListNode *num2 = vector2list(std::vector<int> {5, 6, 4});
	ListNode *etalon = vector2list(std::vector<int> {7, 0, 8});
	ListNode *res = sol.addTwoNumbers(num1, num2);
	ASSERT_THAT(res->val, testing::Eq(etalon->val));
	ASSERT_THAT(res->next->val, testing::Eq(etalon->next->val));
	ASSERT_THAT(res->next->next->val, testing::Eq(etalon->next->next->val));
	ASSERT_THAT(res->next->next->next, testing::Eq(nullptr));
}
Example #24
0
TEST(addTwoNumbers, Test1) {
	Solution sol;
	ListNode *num1 = vector2list(std::vector<int> {1, 2, 3});
	ListNode *num2 = vector2list(std::vector<int> {1, 2, 3});
	ListNode *etalon = vector2list(std::vector<int> {2, 4, 6});
	ListNode *res = sol.addTwoNumbers(num1, num2);
	ASSERT_THAT(res->val, testing::Eq(etalon->val));
	ASSERT_THAT(res->next->val, testing::Eq(etalon->next->val));
	ASSERT_THAT(res->next->next->val, testing::Eq(etalon->next->next->val));
	ASSERT_THAT(res->next->next->next, testing::Eq(nullptr));
}
Example #25
0
int main(){
	int data1[] = {2,4,3};
	int data2[] = {5,6,4};
	int size1 = sizeof(data1) / sizeof(data1[0]);
	int size2 = sizeof(data2) / sizeof(data2[0]);
	vector<int> test1(data1,data1+size1);
	vector<int> test2(data2,data2+size2);
	Solution solution;
	ListNode* ans = solution.addTwoNumbers(vector2List(test1),vector2List(test2));
	printList(ans); 
}
Example #26
0
int main() {
    Solution solution;
    ListNode *l1 = new ListNode(2);
    ListNode *l2 = new ListNode(5);
    l1->next = new ListNode(4);
    l1->next->next = new ListNode(3);
    l2->next = new ListNode(6);
    l2->next->next = new ListNode(4);
    ListNode *res = solution.addTwoNumbers(l1,l2);
    return 0;
}
Example #27
0
File: 2.cpp Project: strangemk2/oj
int main()
{
	auto l1 = make_linked_list<ListNode, int>({9,9});
	auto l2 = make_linked_list<ListNode, int>({5,6,2});

	Solution so;
	auto l3 = so.addTwoNumbers(l1, l2);
	print_linked_list(l3);

	return 0;
}
Example #28
0
TEST(addTwoNumbers, DifferentLength) {
	Solution sol;
	ListNode *num1 = vector2list(std::vector<int> {9, 9, 9});
	ListNode *num2 = vector2list(std::vector<int> {2});
	ListNode *etalon = vector2list(std::vector<int> {1, 0, 0, 1});
	ListNode *res = sol.addTwoNumbers(num1, num2);
	ASSERT_THAT(res->val, testing::Eq(etalon->val));
	ASSERT_THAT(res->next->val, testing::Eq(etalon->next->val));
	ASSERT_THAT(res->next->next->val, testing::Eq(etalon->next->next->val));
	ASSERT_THAT(res->next->next->next->val, testing::Eq(etalon->next->next->next->val));
	ASSERT_THAT(res->next->next->next->next, testing::Eq(nullptr));
}
Example #29
0
int main() {
	Solution *sol = new Solution();
	ListNode *l1 = new ListNode(1);
	l1->next = new ListNode(8);
//	l1->next->next = new ListNode(6);
	
	ListNode *l2 = new ListNode(0);
//	l2->next = new ListNode(5);
//	l2->next->next = new ListNode(6);	
	
	ListNode *l3 = sol->addTwoNumbers(l1,l2);
}
Example #30
0
int main(int argc, char **argv)
{
	int num1, num2;
	ListNode *l1 = new ListNode(0);
	ListNode *l2 = new ListNode(0);
	ListNode *p1 = l1;
	ListNode *p2 = l2;
	ListNode *p;
	cin >> num1 >> num2;
	while(num1 % 10)
	{
		p = new ListNode(0);
		p->val = num1 % 10;
		p1->next = p;
		p1 = p;
		num1 /= 10;
	}
	p->next = NULL;
	l1 = l1->next;
	for(p = l1; p != NULL; p = p->next)
	{
		cout << p->val;
	}	
	cout << endl;
	while(num2 % 10)
	{
		p = new ListNode(0);
		p->val = num2 % 10;
		p2->next = p;
		p2 = p;
		num2 /= 10;
	}
	p->next = NULL;
	l2 = l2->next;
	for(p = l2; p != NULL; p = p->next)
	{
		cout << p->val;
	}
	cout << endl;

	Solution solution;
	ListNode *result = solution.addTwoNumbers(l1, l2);
	p = result;
	while(p != NULL)
	{
		cout << p->val;
		p = p->next;
	}
	cout << endl;

	return 0;
}