LeeCode-02

ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
int t = 0, a = 0, b = 0;
ListNode *l3 = nullptr, *tail = nullptr;
while (l1 || l2) {
a = l1?l1->val:0;
b = l2?l2->val:0;

    t = a + b + t;
    if (l3 == nullptr) {
        l3 = tail = new ListNode(t % 10);
    } else {
        tail->next = new ListNode(t % 10);
        tail = tail->next;
    }
    t = t / 10;
    if (l1) {
        l1 = l1->next;
    }
    if (l2) {
        l2 = l2->next;
    }
}
if (t > 0) {
    tail->next = new ListNode(t);
}
return l3;

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一题:两数相加[https://leetcode-cn.com/problems/add-two-numbers...
    糖糖超可爱阅读 391评论 0 3
  • class Solution {public:ListNode* addTwoNumbers(ListNode* ...
    大慈大悲肖自在阅读 3,367评论 0 1
  • 给你两个非空 的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。 请...
    coder_lei阅读 151评论 0 2
  • 题解:3sum问题变型,同样采取排序+双指针,但不需要再考虑重复问题。 此题目标为使target和三数值之和的差值...
    troubleL阅读 245评论 0 0
  • 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->...
    秸秆混凝烧结工程师阅读 248评论 0 0