electromechanica 2022-08-16 01:14 采纳率: 75%
浏览 37
已结题

力扣第二题两数相加未发现力扣提示的错误。

问题遇到的现象和发生背景

有没有一种可能,力扣也有测试误诊断的时候?

问题相关代码,请勿粘贴截图

/**

  • Definition for singly-linked list.
  • struct ListNode {
  • int val;
    
  • ListNode *next;
    
  • ListNode() : val(0), next(nullptr) {}
    
  • ListNode(int x) : val(x), next(nullptr) {}
    
  • ListNode(int x, ListNode *next) : val(x), next(next) {}
    
  • };
  • /
    class Solution {
    public:
    ListNode* addTwoNumbers(ListNode* l1, ListNode* l2)
    {
      ListNode *h,*p=new ListNode();
      h=p;
      int sum=0,o=0;
      if((l1)&&(l2))
          sum=l1->val+l2->val;
      else if(l1)
          sum=l1->val;
      else if(l2)
          sum=l2->val;
      if(sum>9)
      {
          sum-=10;
          o=1;
      }
      p->val=sum;
      while((l1->next)||(l2->next)||o==1)
      {
          p->next=new ListNode(o);
          p=p->next;
          l1=l1->next;
          l2=l2->next;
          if((l1)&&(l2))
              sum=o+l1->val+l2->val;
          else if(l1)
              sum=o+l1->val;
          else if(l2)
              sum=o+l2->val;
          else
              sum=1;
          o=0;
          if(sum>9)
          {
              sum-=10;
              o=1;
          }
          p->val=sum;
      }
      return h;
    
    }
    };
    运行结果及报错内容
    Line 35: Char 20: runtime error: member access within null pointer of type 'ListNode' (solution.cpp)
    SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior prog_joined.cpp:44:20
    我的解答思路和尝试过的方法
    最开始使用的是通过乘法,还原数字并将l1和l2求和,将结果通过对10求余的方式还原成链表,我使用了long long数据类型来解决,长达11位的十进制数,结果因为计算精度丢失的原因(这我可控制不了)没能通过测试。
    于是,我就使用了上面的方法,运行结果指出链表节点有空指针,反复检查,还是没看出错在哪了。
    我想要达到的结果
  • 写回答

2条回答

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 系统已结题 8月24日
      • 已采纳回答 8月16日
      • 创建了问题 8月16日

      悬赏问题

      • ¥20 类似羊了个羊修改三个不同图片才能消除
      • ¥15 环绕字符串的子字符串个数(实在做不出来,只能做到普通字符串)
      • ¥20 B站评论区 点击这个蓝字就打开一张图片 是怎么做的
      • ¥15 数组并求平均数及各值与平均数之差
      • ¥15 Qt5.9.9+Vs2017遇到字符集问题
      • ¥25 win11无法启用windows功能
      • ¥15 spm-cat进行VBM分析出错
      • ¥50 c++dll中,在函数中创建线程,在函数执行完之后,线程也被销毁了,有什么办法可以让线程持续运行?
      • ¥15 微信小程序真机测试报错空白
      • ¥15 急需帮助!!!非常需要帮助