zoukankan      html  css  js  c++  java
  • [LeetCode] 2


    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 *head = new ListNode(0);
        ListNode *sum = head;

        while(l1 || l2) {
          if(l1 == NULL){
            sum->next = l2;
            break;
          }
          if(l2 == NULL){
            sum->next = l1;
            break;
          }
          ListNode* res = new ListNode(l1->val + l2->val + sum->val /10);
          sum->val %= 10;
          sum->next = res;
          sum = res;
          l1 = l1->next;
          l2 = l2->next;
        }
        while(sum->next) {
          sum->next->val += sum->val/10;
          sum->val %= 10;
          sum = sum->next;
        }

        ListNode *p = head;
        head = head->next;
        if (sum->val >= 10) {
          p->val = sum->val /10;
          sum->val %= 10;
          sum->next = p;
          p->next = NULL;
        }
        else {
          delete p;
        }
        return head;
      }
    };

  • 相关阅读:
    MyEclipse 2015反编译插件安装
    RocketMQ事务消费和顺序消费详解
    Rocket重试机制,消息模式,刷盘方式
    前端js上传文件 到后端接收文件
    Junit进行单元测试
    json简单使用
    valgrind的使用--检测内存
    使用scrapy框架爬取自己的博文(3)
    使用scrapy框架爬取自己的博文
    Scrapy下xpath基本的使用方法
  • 原文地址:https://www.cnblogs.com/shoemaker/p/4765872.html
Copyright © 2011-2022 走看看