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

全球设计网站有哪些建设银行ETC的网站是哪个

全球设计网站有哪些,建设银行ETC的网站是哪个,祥云平台网站管理系统,世界500强企业的核心价值观目录 1. 题目描述及链接 2. 解题思路 3. 程序 3.1 第一版 3.2 第二版 1. 题目描述及链接 题目链接:21. 合并两个有序链表 - 力扣(LeetCode) 题目描述: 将两个升序链表合并为一个新的 升序 链表并返回。 新链表是通过拼接给…

目录

1. 题目描述及链接

2. 解题思路

3. 程序

3.1 第一版

3.2 第二版


1. 题目描述及链接

题目链接:21. 合并两个有序链表 - 力扣(LeetCode)

题目描述:

将两个升序链表合并为一个新的 升序 链表并返回。

新链表是通过拼接给定的两个链表的所有节点组成的。

2. 解题思路

总思路:

创建一个新的链表。定义两个结构体指针变量,分别指向两个链表待比较结点,遍历原链表,依次对比选出值更小的结点依次尾插到新链表。

具体实现思路:

(1)由于需要依次对比两链表结点的大小值,故创建两个指针变量l1与l2分别用于指向链表1和链表2的当前比较的结点。

(2)由于需要将较小值结点尾插到新链表,故需创建指针变量newTail指向当前新链表的尾结点,每次插入一个结点就更新一次newTail

且需返回新链表的头结点,故需创建指针变量newTail指向新链表的尾结点。

(3)直至对链表1或链表2完成遍历,即l1或l2为空,则此时将不为空的链表后续的若干结点直接拼接到新链表的newTail之后即可。

(4)考虑特殊情况:链表1为空或链表2为空时,根据当前代码逻辑,l1或l2其中一个为NULL,则newTail为空,若执行newTail->next会导致对空指针的解引用,故需单独讨论处理。

处理逻辑为:若链表1为空,则直接返回链表2的头结点;

若链表2为空,则直接返回链表1的头结点;

3. 程序

3.1 第一版

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/
typedef struct ListNode ListNode;
struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2) {// 判空if(list1==NULL){return list2;}if(list2==NULL){return list1;}ListNode* l1=list1;ListNode* l2=list2;// 新链表ListNode* newHead=NULL;ListNode* newTail=NULL;while(l1 && l2){if(l1->val<l2->val){// 尾插l1if(newHead==NULL){newHead=newTail=l1;}else{newTail->next=l1;newTail=newTail->next;}l1=l1->next;}else{// 尾插l2if(newHead==NULL){newHead=newTail=l2;}else{newTail->next=l2;newTail=newTail->next;}l2=l2->next;}}// l1或l2为空if(l2){newTail->next=l2;}if(l1){newTail->next=l1;}return newHead;
}

3.2 第二版

在上文程序中的while循环体内,易观察到while循环体内的代码重复:

优化思路如下:

此处重复原因:新链表存在空和非空两种情况,故而可令newHead和newTail初始状况不为空:

初始化时为newHead何newTail动态申请一个结点的空间,但不存储有效数据。

同时最终返回值也不再是newHead,而是newHead->next;

解题程序如下:

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/
typedef struct ListNode ListNode;
struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2) {// 判空if(list1==NULL){return list2;}if(list2==NULL){return list1;}ListNode* l1=list1;ListNode* l2=list2;// 新链表ListNode* newHead,*newTail;newHead=newTail=(ListNode*)malloc(sizeof(ListNode));while(l1 && l2){if(l1->val<l2->val){// 尾插l1newTail->next=l1;newTail=newTail->next;l1=l1->next;}else{// 尾插l2newTail->next=l2;newTail=newTail->next;l2=l2->next;}}// l1或l2为空if(l2){newTail->next=l2;}if(l1){newTail->next=l1;}// 动态申请的空间手动释放ListNode* ret=newHead->next;free(newHead);newHead=NULL;return ret;
}

http://www.yayakq.cn/news/697115/

相关文章:

  • c 语言可以做网站吗公司做网站多少钱乐器
  • 企业网站优化的方式wordpress+html5特效
  • 大连建设工程招聘信息网站互联网公司排名前十名名单
  • 成都个人网站开发网上销售推广方案
  • 建网站能挣钱吗建设银行网站设计的优点
  • qq网站登录网页设计论文5000
  • 个人网站建设基本教程扁平式网站seo 内链
  • 贵州网站推广电话app推广方案范例
  • 做微信的网站正宗营销型网站建设
  • 网站建设大品牌宣传方案怎么写
  • 延吉 网站建设网站维护工作内容有什么
  • 网站调用微信js视频服务器迁移到另一台服务器
  • 网站域名使用费用做电影网站如何推广方案
  • 做网站 长设计师作品展示网站
  • 网络游戏开发基础深圳搜索优化排名公司
  • 个人姓名最多备案多少个网站深圳网站建设公司流程
  • 个人域名用来做淘宝客网站国内 织梦和wordpress
  • 优惠券网站开发汽车门户网站源码
  • 做网站打广告平安建设网站
  • linux网站开发工具wordpress 从零
  • 旅游网站开发的目的百度网站提交收录
  • joomla网站迁移企迪网
  • 网站图片设置方法公司网站要备案吗
  • 网站建设建设公司有哪些中国铁道工程建设协会查证网站
  • 在线手机动画网站模板下载游戏制作培训
  • 自己可以做开奖网站吗wordpress分类名称
  • 义乌建网站网站建设做什么好
  • 免费建网站样板手机版晋城市公用事业建设局网站
  • 做设计太依赖网站素材建设网站 xp
  • 做网站优化的公司猪八戒网做网站被骗