当前位置: 首页 > news >正文

柳市做公司网站西安网站开发制作公司

柳市做公司网站,西安网站开发制作公司,太原网络公司网站,顶级域名和二级域名区别操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然递增有序。 你可以选择不修改原链表,也可以就地合并(视题目要求)。 …
  • 操作系统:ubuntu22.04
  • IDE:Visual Studio Code
  • 编程语言:C++11

题目描述

输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然递增有序。
你可以选择不修改原链表,也可以就地合并(视题目要求)。

示例:

输入:
链表1: 1 -> 2 -> 4
链表2: 1 -> 3 -> 4

输出:
合并后链表: 1 -> 1 -> 2 -> 3 -> 4 -> 4

解法思路:双指针归并法

这个题目是链表操作的经典问题,和“归并排序”中合并两个有序数组非常类似。
思路总结:

  • 使用两个指针 l1 和 l2 分别遍历两个链表;
  • 创建一个虚拟头节点 dummy,便于统一处理;
  • 创建一个指针 cur 跟随构建结果链表;
  • 每次比较 l1->val 和 l2->val,把较小的节点接到 cur->next,然后移动相应指针;
  • 当其中一个链表为空时,直接将另一个链表剩余部分接上即可;
  • 最后返回 dummy.next 就是合并后的链表头节点。

C++ 实现代码


// 定义链表结构体
struct ListNode {int val;ListNode* next;ListNode( int x ) : val( x ), next( nullptr ) {}
};ListNode* mergeTwoLists( ListNode* l1, ListNode* l2 )
{// 创建一个虚拟头节点,方便统一处理ListNode dummy( 0 );ListNode* cur = &dummy;  // 当前指针,用于构建新链表// 同时遍历两个链表,直到其中一个为空while ( l1 != nullptr && l2 != nullptr ){if ( l1->val < l2->val ){cur->next = l1;        // 把 l1 接到结果链表末尾l1        = l1->next;  // 移动 l1 指针}else{cur->next = l2;        // 把 l2 接到结果链表末尾l2        = l2->next;  // 移动 l2 指针}cur = cur->next;  // 结果链表指针后移一位}// 如果还有剩余节点,直接接到结果链表后面cur->next = ( l1 != nullptr ) ? l1 : l2;// 返回合并后的链表头节点(即 dummy 的下一个节点)return dummy.next;
}int main()
{ListNode* node1               = new ListNode( 1 );node1->next                   = new ListNode( 2 );node1->next->next             = new ListNode( 3 );node1->next->next->next       = new ListNode( 4 );node1->next->next->next->next = new ListNode( 5 );ListNode* node2               = new ListNode( 1 );node2->next                   = new ListNode( 2 );node2->next->next             = new ListNode( 3 );node2->next->next->next       = new ListNode( 4 );node2->next->next->next->next = new ListNode( 5 );ListNode* res = mergeTwoLists( node1, node2 );while ( res != nullptr ){std::cout << res->val << std::endl;res = res->next;}
}

输出:

1
1
2
2
3
3
4
4
5
5
http://www.tj-hxxt.cn/news/26607.html

相关文章:

  • 手机兼职赚钱seo搜索引擎优化实战
  • 嘉兴的网站设计公司有哪些导航网站怎么推广
  • 公司网站设计欣赏网络推广外包业务怎么样
  • 计算机毕设做网站难吗买外链网站
  • 保险代理人做网站绍兴seo推广
  • 做赌博网站危险吗农产品营销策划方案
  • 每天一篇好文章网站会计培训班哪个机构比较好
  • 深圳做模板网站seo网络推广课程
  • 有没有专门做售楼部包装的网站自媒体营销推广方案
  • 那个网站做直播好赣州seo培训
  • 芜湖那里帮人做销售网站下百度安装
  • 网站需要租服务器吗发布项目信息的平台
  • 河南省建设厅网站地址网络营销seo优化
  • 自己写的网页怎么发布seo是什么服务
  • 北京给网站做系统的公司seo查询优化
  • 一个主机怎么做两个网站php搭建一个简单的网站
  • 做食品的网站设计要注意百度合伙人官网app
  • 招商网站建设方案下载百度免费版
  • 贵阳网站app制作网站建设制作模板
  • 政府网站制作费用免费搭建网站
  • 厦门网站建设模板世界搜索引擎公司排名
  • 赣州销售网站日本预测比分
  • 阿里云主机怎么做两个网站吗seo优化中以下说法正确的是
  • 哈尔滨做网站建设搜索引擎平台有哪些
  • 网站关键词设置技巧百度竞价排名是以什么形式来计费的广告?
  • 房产网站哪个比较真实营销型制作网站公司
  • 苏州做网站公司排名网站建设优化的技巧
  • 中国正规的加盟网站wix网站制作
  • 美食怎么做的小视频网站网络宣传平台有哪些
  • 在淘宝上做的网站要转出网站seo优化方案设计