㫪679 2022-07-21 12:53 采纳率: 100%
浏览 96
已结题

这是力扣上的第二题有懂得没有 帮我看一下

img

img


是这两张图片,他可以运行,但是运行结果不对,我算了一下,是因为他第二个链表长度太短了,提前结束,导致后面的没有进位,可是当我以head所指的下一个是否存在为准时,他直接蹦了。那个需要加的那句话,我也在图片中注释了。

  • 写回答

4条回答 默认 最新

  • jia幻影 2022-07-21 13:08
    关注

    ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
    ListNode *head = nullptr, *tail = nullptr;
    int carry = 0;
    while (l1 || l2) {
    int n1 = l1 ? l1->val: 0;
    int n2 = l2 ? l2->val: 0;
    int sum = n1 + n2 + carry;
    if (!head) {
    head = tail = new ListNode(sum % 10);
    } else {
    tail->next = new ListNode(sum % 10);
    tail = tail->next;
    }
    carry = sum / 10;
    if (l1) {
    l1 = l1->next;
    }
    if (l2) {
    l2 = l2->next;
    }
    }
    if (carry > 0) {
    tail->next = new ListNode(carry);
    }
    return head;
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 7月29日
  • 已采纳回答 7月21日
  • 创建了问题 7月21日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵