2. Add Two Numbers

LJM·2023년 1월 3일
0

LeetCode

목록 보기
7/10

https://leetcode.com/problems/add-two-numbers/

c++

class Solution {
public:
    ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
        
        
        ListNode* header1 = l1;
        ListNode* header2 = l2;
        ListNode* ret = NULL;
        ListNode* temp = NULL;
        
        ret = new ListNode(header1->val + header2->val);
        temp = ret;
        
        int up = 0;
        if(ret->val >= 10)
        {
            up = 1;
            ret->val -= 10;
        }
      
        header1 = header1->next;
        header2 = header2->next;
        
        int sum = 0;
        while(1)
        {
            if(!header1 && !header2 && !up)
                break;
            
            sum = up;
            if(header1)
                sum += header1->val;
            if(header2)
                sum += header2->val;
            
            temp->next = new ListNode(sum);
            temp = temp->next;
      
            if(sum >= 10)
            {
                up = 1;
                temp->val -= 10;
            }
            else
                up = 0;
            
            if(header1)
                header1 = header1->next;
            if(header2)
                header2 = header2->next;
                
            
            
        }
        
        return ret;
    }
};
profile
게임개발자 백엔드개발자

0개의 댓글