2. Add Two Numbers的C++解法
阿新 • • 發佈:2018-12-27
題目描述:https://leetcode.com/problems/add-two-numbers/
相當於高精度加法,需要注意處理l1、l2長度不一致還有各種進位的情況(只有l1且進位、只有l2且進位、l1l2都沒了還有一位進位等)。
class Solution { public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { ListNode * helper=new ListNode(0); ListNode * add=helper; int flag=0; while(true) { if (l1==NULL && l2==NULL &&flag==0) break; int sum=0; if (l1!=NULL) { sum=sum+l1->val; l1=l1->next; } if (l2!=NULL) { sum=sum+l2->val; l2=l2->next; } sum+=flag; flag=sum/10; add->next=new ListNode(sum%10); add=add->next; } return helper->next; } };