leetcode add two number

class Solution {
public:
    ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
        if(l1==NULL){ return l2;}
        if(l2==NULL){ return l1;}
        int up=0;
        ListNode *resList =NULL,*pNode = NULL,*pNext=NULL;
        ListNode *p=l1,*q=l2;
        while((p!=NULL)&&(q!=NULL)){
            pNext = new ListNode(p->val + q->val +up);
            up = pNext->val /10;
            pNext->val = pNext->val %10;
            if (resList==NULL){
                resList = pNode = pNext;
            }else{
                pNode->next  = pNext;
                pNode = pNext;
            }
            p = p->next;
            q = q->next;
        }
        while(p!=NULL){
            pNext = new ListNode(p->val + up);
            up = pNext->val /10;
            pNext->val = pNext->val %10;
            pNode->next = pNext;
            pNode = pNext;
            p = p->next;
        }
        while(q!=NULL){
            pNext = new ListNode(q->val + up);
            up = pNext->val /10;
            pNext->val = pNext->val %10;
            pNode->next = pNext;
            pNode = pNext;
            q = q->next;
        }
        if(up>0){
            pNext = new ListNode(up);
            pNode ->next =pNext;
        }
        return resList;
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章