两数相加

 

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode() : val(0), next(nullptr) {}
 *     ListNode(int x) : val(x), next(nullptr) {}
 *     ListNode(int x, ListNode *next) : val(x), next(next) {}
 * };
 */
class Solution {
public:
    ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
      ListNode* H = new ListNode();
      ListNode* ptr = H;
      int next = 0;
      while(l1 || l2 ||next){
        int val = 0;
        if(l1) val = val + l1->val,l1 = l1 -> next;
        if(l2) val = val + l2 ->val,l2 = l2 -> next;
        val += next;
        ListNode* node = new ListNode(val%10);
        ptr -> next = node;
        ptr = node;
        next = val / 10;
      }
      return H -> next;
};
posted @ 2023-04-25 21:05  Hbro  阅读(14)  评论(0)    收藏  举报