美文网首页
2 两数相加(c++)

2 两数相加(c++)

作者: w_dll | 来源:发表于2019-08-01 18:19 被阅读0次

时间复杂度有问题,回去修改
链接

/**
 * 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) {
        ListNode *head = (ListNode*)malloc(sizeof(ListNode));
        ListNode *p =head;
        int temp,flag=0;
        while(l1 || l2 || (flag == 1)){
            temp=0;
            //加操作
            if (l1 != nullptr) 
                temp+=l1->val;
            if (l2 != nullptr )
                temp+=l2->val;

            if (flag == 1){
                temp+=1;
                p->val=temp%10;
            }
            else
                p->val=temp%10;
            //判断下一次的是否要加1
            if (temp >= 10)
                flag=1;
            else
                flag=0;
            //指针后移
            ListNode *next = (ListNode*)malloc(sizeof(ListNode));
            p->next = next;
            p = p->next;
            l1 = l1 ? l1->next : nullptr;
            l2 = l2 ? l2->next : nullptr;
        }
        return head;
    }
};

相关文章

  • 2 两数相加(c++)

    时间复杂度有问题,回去修改链接

  • 2. 两数相加(C++)

    给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一...

  • 2、两数相加

    https://leetcode-cn.com/problems/add-two-numbers/[https:/...

  • 2 两数相加

    文|Seraph 01 | 问题 给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方...

  • 2、两数相加

    给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 ...

  • 2.两数相加 [c++ and python]

    题目:给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新...

  • 力扣题解(链表)

    2. 两数相加

  • 2. 两数相加

    给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表...

  • 2. 两数相加

  • LeetCode 2——两数相加

    1. 题目 2. 解答 循环遍历两个链表 若两个链表都非空,将两个链表结点的值和进位相加求出和以及新的进位 若其中...

网友评论

      本文标题:2 两数相加(c++)

      本文链接:https://www.haomeiwen.com/subject/tcicdctx.html