zoukankan      html  css  js  c++  java
  • Add Two Numbers

    You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.

    Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
    Output: 7 -> 0 -> 8

    代码:

     1     ListNode *addTwoNumbers(ListNode *l1, ListNode *l2) {
     2         // IMPORTANT: Please reset any member data you declared, as
     3         // the same Solution instance will be reused for each test case.
     4         if(l1 == NULL)
     5             return l2;
     6         if(l2 == NULL)
     7             return l1;
     8         ListNode *result, *tmp;
     9         int carry = 0;
    10         tmp = new ListNode(0);
    11         result = tmp;
    12         while(l1 && l2){
    13             tmp->next = new ListNode(0);
    14             tmp->next->val = l1->val + l2->val + carry;
    15             carry = tmp->next->val/10;
    16             tmp->next->val = tmp->next->val%10;
    17             tmp = tmp->next;
    18             l1 = l1->next;
    19             l2 = l2->next;
    20         }
    21         if(l1 == NULL)
    22             tmp->next = l2;
    23         else
    24             tmp->next = l1;
    25         while(carry == 1){
    26             if(tmp->next == NULL)
    27                 tmp->next = new ListNode(0);
    28             tmp->next->val++;
    29             carry = tmp->next->val/10;
    30             tmp->next->val = tmp->next->val%10;
    31             tmp = tmp->next;
    32         }
    33         return result->next;
    34     }
  • 相关阅读:
    变量
    总结 对象
    学生管理系统
    [Altera] Device Part Number Format
    [Matlab] sum
    [Matlab] Galois Field
    [C] static和extern的作用
    [Python] list
    [Python] raw_input
    [软件] UnicornViewer
  • 原文地址:https://www.cnblogs.com/waruzhi/p/3418200.html
Copyright © 2011-2022 走看看