zoukankan      html  css  js  c++  java
  • leetcode 2.Add Two Numbers

    You are given two non-empty linked lists representing two non-negative integers. 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.

    You may assume the two numbers do not contain any leading zero, except the number 0 itself.

    Example:

    Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
    Output: 7 -> 0 -> 8
    Explanation: 342 + 465 = 807.

    思路:使用一个ListNode进行保存结果,进行一直后移链表操作

    class Solution {
    public:
        ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
            ListNode *res=new ListNode(0);
            ListNode *tmp=res;
            bool start=true;
            int num=0;
            while(l1||l2){
                if(l1) {
                    num+=l1->val;
                    l1=l1->next;
                }
                if(l2){
                    num+=l2->val;
                    l2=l2->next;
                }
                if(start) tmp->val=num%10;
                else {
                    tmp->next=new ListNode(num%10);
                    tmp=tmp->next;
                }
                start=false;
                num/=10;
            }
            if(num!=0) tmp->next=new ListNode(num);
            return res;
        }
    };
  • 相关阅读:
    Docker contanier comunication with route
    Event Sourcing
    Event Sourcing
    Event Sourcing
    .Net async
    安装Docker
    【JQuery】数据
    【JQuery】遍历
    【JQuery】css操作
    【JQuery】文档操作
  • 原文地址:https://www.cnblogs.com/littlepage/p/12117530.html
Copyright © 2011-2022 走看看