网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
06月13日漏签0天
c++吧 关注:619,194贴子:2,111,346
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 1回复贴,共1页
<<返回c++吧
>0< 加载中...

求助力扣21题合并正序列表

  • 只看楼主
  • 收藏

  • 回复
  • Jeffery_z
  • ,
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
为什么答案不对
class Solution {
public:/**
* 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) {}
* };
*/
ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {
ListNode*p=new ListNode();
ListNode*l=new ListNode(0,list1);
ListNode*r=new ListNode(0,list2);
ListNode*ans=p;
while(l->next&&r->next){
if ((l->next->val)<(r->next->val)){
p->next=l->next;
l=l->next;
}
else{
p->next=r->next;
r=r->next;
}
p=p->next;
}
if(l->next){
p->next=l->next;
}
if(r->next){
p->next=r->next;
}
return ans->next;
}
};
我把前驱列表换成直接用list1和list2就对了
/**
* 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* mergeTwoLists(ListNode* list1, ListNode* list2) {
ListNode*p=new ListNode();
ListNode*ans=p;
while(list1&&list2){
if ((list1->val)<(list2->val)){
p->next=list1;
list1=list1->next;
}
else{
p->next=list2;
list2=list2->next;
}
p=p->next;
}
if(list1){
p->next=list1;
}
if(list2){
p->next=list2;
}
return ans->next;
}
};


  • Jeffery_z
  • ,
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
虽然我也不知道为什么一开始会用两个节点l和r做list1和list2的前驱节点🤣,但这两段代码为什么结果不一样,l-next不是和list等价的吗


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1回复贴,共1页
<<返回c++吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示