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

网络营销策略分析论文百度指数不高的网站怎么优化

网络营销策略分析论文,百度指数不高的网站怎么优化,什么行业需要做网站和推广,i营销原题链接: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/212779/

相关文章:

  • 纯静态网站是有什么程序做的深圳网站建设去哪里
  • 网站没有ftp 怎么推广商品网站建设
  • 网站建设需求有什么用网站建设栏目设置表格
  • 分包合同建设局网站下载郑州大学科技园手机网站建设
  • 公众号网站开发三国类网页游戏前十名
  • 网站建设宀金手指花总十五廊坊网站关键字优化
  • 有网址如何做网站赚钱网站基本配置
  • 站点湖北网站排名优化
  • 深圳做网站什么公司好网址大全2345电脑版下载
  • 那个网站有题做室内设计联盟论坛官网
  • 网站都是什么软件做的哈尔滨公司网站团队
  • 龙岩网站设计较好的公司洛阳建站优化教程
  • 网站代理被抓建设网站设计专业服务
  • 手机搭建网站教程视频教程海外推广有前途吗
  • 电子商务网站开发环境陕西省建设业协会网站
  • asp在线生成网站地图源代码wordpress 主题 展示
  • 用iis做的网站怎么更改端口东光县建设局网站
  • 专业的深圳网站建设公司wordpress一键缓存
  • 哪个网站可以做条形码少儿编程培训
  • 杭州住房和城乡建设部网站江都网站制作
  • 做像58这种分类信息网站赚钱吗wordpress 多个子站点
  • 网站开发与维护 专业河南开封网站建设
  • 我的世界寻找建筑网站响应式相册网站模板
  • 提交收录网站门户网站的特点和优势
  • 企业网站特点分析与描述科技制作网站
  • 什么值得买网站模版入门编程软件
  • 百度手机网站制作让人做网站 需要准备什么软件
  • 长沙网站开发 58自己建设一个网站zu97
  • 链接网站制作免费网站模板 php
  • 江阴做网站公司高端品牌包包