zoukankan      html  css  js  c++  java
  • leetcode[2]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

    /**
     * Definition for singly-linked list.
     * struct ListNode {
     *     int val;
     *     ListNode *next;
     *     ListNode(int x) : val(x), next(NULL) {}
     * };
     */
    class Solution {
    public:
        ListNode *addTwoNumbers(ListNode *l1, ListNode *l2) {
          if(l1==NULL)return l2;
          if(l2==NULL)return l1;
          ListNode *l3=NULL;
          ListNode *p=l3;
          int flag=0;
          int res=0;
          while(l1!=NULL||l2!=NULL)
          {
              res=flag;
              if(l1!=NULL)
              {
                  res+=l1->val;
                  l1=l1->next;
              }
              if(l2!=NULL)
              {
                  res+=l2->val;
                  l2=l2->next;
              }
              if(l3==NULL)
              {
                  l3=new ListNode(res%10);
                  p=l3;
              }
              else
              {
                  p->next=new ListNode(res%10);
                  p=p->next;
              }
              flag=res/10;
          }
          if(flag)
          {
              p->next=new ListNode(flag);
              p=p->next;
          }
          return l3;
        }
    };
  • 相关阅读:
    宜未雨而绸缪,毋临渴而掘井。
    JDBC fetch size
    社会主义核心价值观
    JavaEE
    《夜泊牛渚怀古》
    JAVA "GMT+10" 和 "GMT+0010"
    乡村振兴1
    申论 题好文一半
    UCOS时钟与中断:
    任务的状态-挂起和恢复
  • 原文地址:https://www.cnblogs.com/Vae1990Silence/p/4283736.html
Copyright © 2011-2022 走看看