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

怎么将自己房子投入网站做民宿支付宝手机网站支付前端怎么做

怎么将自己房子投入网站做民宿,支付宝手机网站支付前端怎么做,中层管理者培训课程有哪些,贵阳建设网站公司原题链接:https://leetcode.cn/problems/merge-two-sorted-lists/description/ 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 可以先创建一个空链表,然后依次从两个有序链表中选取最小的进行尾插操作。(有点类似双…

原题链接:https://leetcode.cn/problems/merge-two-sorted-lists/description/

目录

1. 题目描述

2. 思路分析

3. 代码实现


1. 题目描述

2. 思路分析

可以先创建一个空链表,然后依次从两个有序链表选取最小的进行尾插操作。(有点类似双指针的操作~)

我们可以用不带哨兵位带哨兵位两种方法实现:

不带哨兵位

如果两个链表有一个为空,直接返回另一个链表即可。

如果两个链表都是非空的,我们就创建一个结构体指针head和一个结构体指针tail,都初始化为空指针NULL,之后分别用来指向新链表的头和尾。

同时遍历两个链表,当有一个链表遍历完时停止。这里使用while(list1&&list2)进行循环

当空链表插入第一个结点(也就是tail==NULL)时需要单独考虑,让头指针head和尾指针next都指向此时值较小的那个结点即可。

其他情况,正常尾插即可,就是让tail->next指向值较小的结点。之后让tail指向当前插入的结点(也就是让tail往后走一步),然后让相对应的list1或者list2往后走一步即可。

因为有可能while循环结束时,还有链表的结点没有被插入到新链表。所以我们要用if语句判断,将剩余的结点直接插入到新链表

最后我们返回头指针head即可。

带哨兵位

带哨兵位最大的好处是方便尾插不用单独考虑在新链表插入第一个结点时的情况了,因为带哨兵位让每一个结点地位都一样了

这里相比不带哨兵位多的一些操作就是要先用malloc()函数申请一个结点作为哨兵位,让head和tail一开始都直接指向这个结点。

当完成合并操作后,让头指针head往后走一步,指向哨兵位后面一个结点

然后使用free()释放掉哨兵位

最后返回head即可。

3. 代码实现

不带哨兵位

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/
struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2){if(list1==NULL)return list2;if(list2==NULL)return list1;struct ListNode *head=NULL,*tail=NULL;while(list1&&list2){if(list1->val<=list2->val){if(tail==NULL){head=tail=list1;}else{tail->next=list1;tail=tail->next;}list1=list1->next;}else{if(tail==NULL){head=tail=list2;}else{tail->next=list2;tail=tail->next;}list2=list2->next;}}if(list1)tail->next=list1;if(list2)tail->next=list2;return head;
}

带哨兵位

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/
struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2){if(list1==NULL)return list2;if(list2==NULL)return list1;struct ListNode *head=NULL,*tail=NULL;//带一个哨兵位,方便尾插head=tail=(struct ListNode*)malloc(sizeof(struct  ListNode));while(list1&&list2){if(list1->val<=list2->val){tail->next=list1;tail=tail->next;list1=list1->next;}else{tail->next=list2;tail=tail->next;list2=list2->next;}}if(list1)tail->next=list1;if(list2)tail->next=list2;struct ListNode *del=head;head=head->next;free(del);return head;
}

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

相关文章:

  • 阿里云云服务器 网站配置医药网站 备案
  • 吉林做网站哪家好怎样做一个简单的网站
  • cms 类网站微信小店怎么开通
  • seo百度站长工具查询php仿百度网站源码
  • 怎么建设个人主页网站南充市租房子信息网
  • 品牌网站设计环球网
  • 做5173这样的网站要多少人做蛋糕的网站
  • 深圳高端网站建设创新做网站程序看什么书
  • 箱包东莞网站建设机电网站模板
  • 做网站的怎么挣钱途牛旅行网网站建设
  • 五莲网站建设中国建设部官方网站鲁班奖
  • .net网站内容管理系统网站建设服务网站
  • 现在做个企业网站一般多少钱前端网站建设
  • 个人网站做支付接口建设银行网站转账
  • 安徽餐饮加盟网站建设北京市建设工程信息网站
  • asp 网站开发实例教程小程序运营主要做什么
  • 凡科 预约网站电销crm管理系统
  • 网页设计与网站建设毕业设计网站模板 带后台
  • 来个网站吧好人一生平安2021赣州住房建设部网站
  • 信用渭南网站建设毕设做桌面软件还是网站
  • 建水县住房和城乡建设局网站asp网站转php
  • 广东网站建设制作价格低wordpress单页淘客源码
  • 网站建设 好的公司梅州做网站需要多少钱
  • 攀枝花建设规划网站怎样在织梦网站建设目录
  • 宁波品牌网站建设公司建立公司网站的目的
  • 物流百度推广怎么做网站免费网站推广在线观看
  • 河源市东源县建设局网站哈尔滨免费做网站
  • 网站开发一般用什么工具建设网站要买空间吗
  • 2元域名注册网站最佳网站
  • 惠州做网站好的公司长春市网站制作公司