1 ListNode *ptr,*l; 2 l = new ListNode(0);//这才是正确的赋值姿势 3 ptr = l;//赋给的是地址 4 int up = 0,fg1 = 0,fg2 = 0; 5 //cout<<"r"<<endl; 6 while(1) 7 { 8 if(fg1 && fg2) break; 9 int a,b; 10 if(fg1) a = 0; 11 else a = l1 -> val; 12 if(fg2) b = 0; 13 else b = l2 -> val; 14 // cout<<a<<" "<<b<<endl; 15 l -> next = new ListNode( (a + b + up) % 10); 16 if(a + b + up >= 10) up = 1; 17 else up = 0; 18 if(!(l1 -> next)) fg1 = 1; 19 else l1 = l1 -> next; 20 if(!(l2 -> next)) fg2 = 1; 21 else l2 = l2 -> next; 22 l = l -> next; 23 } 24 if(up) l -> next = new ListNode(up); 25 return ptr -> next;