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

清溪做网站的电话郑州网站建设价格

清溪做网站的电话,郑州网站建设价格,wordpress后台 robots.txt,时尚风格网站一、题目 函数原型: ListNode* partition(ListNode* pHead, int x) 二、思路 根据题意,可以设置两个新的链表,将原链表中所有小于x的结点链接到链表1中,大于x的结点链接到链表2中,最后再将两个链表合并即可。 此题有两…

一、题目

函数原型:

ListNode* partition(ListNode* pHead, int x)

二、思路

根据题意,可以设置两个新的链表,将原链表中所有小于x的结点链接到链表1中,大于x的结点链接到链表2中,最后再将两个链表合并即可。

此题有两种写法,一种是带哨兵位的链表,另一种是不带哨兵位的链表。

 实际操作过程中,发现对于两个链表的合并,带哨兵位链表比不带哨兵位链表的代码更加简洁。

(带哨兵位的结点进行尾插时不需要考虑头结点是否为空,且链表合并时可以直接合并,无需考虑某一链表是否为空的情况)

三、代码

代码实现1(带哨兵位)

/*
struct ListNode {int val;struct ListNode *next;ListNode(int x) : val(x), next(NULL) {}
};*/
class Partition {
public:ListNode* partition(ListNode* pHead, int x) {// write code hereListNode *Bnewhead=(ListNode*)malloc(sizeof(ListNode));//小链表的哨兵位ListNode *Btail=Bnewhead;//大链表尾指针ListNode *Snewhead=(ListNode*)malloc(sizeof(ListNode));//大链表的哨兵位ListNode *Stail=Snewhead;//小链表尾指针ListNode *cur=pHead;//遍历指针while(cur){if(cur->val<x)//结点值小于x,尾插到小链表{Stail->next=cur;Stail=cur;}else//结点大于x,尾插到大链表{Btail->next=cur;Btail=cur;}cur=cur->next;}Stail->next=NULL;//小链表尾结点指针域指向空Btail->next=NULL;//大链表尾结点指针域指向空Stail->next=Bnewhead->next;//将大小链表合并return Snewhead->next;//返回新链表的头结点(非哨兵位)}
};

代码实现2(不带哨兵位)

/*
struct ListNode {int val;struct ListNode *next;ListNode(int x) : val(x), next(NULL) {}
};*/
class Partition {
public:ListNode* partition(ListNode* pHead, int x) {// write code hereListNode *cur=pHead;ListNode *Bnewhead=NULL;//大链表头结点ListNode *Btail=NULL;//大链表尾指针ListNode *Snewhead=NULL;//小链表头结点ListNode *Stail=NULL;//小链表尾指针while(cur)//遍历原链表{if(cur->val<x)//结点值小于x,尾插到小链表{if(Stail==NULL)//先判断小链表是否为空,为空则将插入结点作为头结点{Snewhead=Stail=cur;}else//小链表不为空,进行尾插{Stail->next=cur;Stail=cur;}}else{if(Btail==NULL)//先判断大链表是否为空,为空则将插入结点作为头结点{Bnewhead=Btail=cur;}else//大链表不为空,进行尾插{Btail->next=cur;Btail=cur;}}cur=cur->next;}if(Btail)//将大链表尾结点指针域指向空Btail->next=NULL;if(Stail)//将小链表尾结点指针域指向空Stail->next=NULL;//开始合并大小链表if(Stail==NULL)//如果小链表为空,则直接返回大链表{return Bnewhead;}else if(Btail==NULL)//如果大链表为空,则直接返回小链表{return Snewhead;}else if(Stail==NULL&&Btail==NULL)//如果大小链表都为空,则直接返回空{return NULL;}else//大小链表都不为空,将两个链表合并{Stail->next=Bnewhead;return Snewhead;} }
};
http://www.zhongyajixie.com/news/21096.html

相关文章:

  • 衡水网页网站建设百度怎么推广自己的作品
  • wordpress 网站播放器seo站外优化平台
  • 网站开发软件系统软文媒体
  • 县城做信息网站赚不赚钱网站推广优化是什么意思
  • 网站域名商山东seo
  • h5做网站百度首页优化
  • 专门做当归的网站seo招聘职责
  • 网站开发的硬件环境关于普通话的手抄报
  • 怎样做网站的ico图片郴州网站seo外包
  • 企业网站建设的公司有哪些济南seo顾问
  • 浙江网站设计公司北京seo网站开发
  • 用html5做的网站素材青岛seo全网营销
  • 电子商务网站开发常见网站收录怎么做
  • 用PS怎么做网站图片南京百度seo
  • 大型网站开发视频传统营销
  • 好看网站手机版sem竞价培训
  • 专门做餐饮ppt的网站搜索引擎市场份额2023
  • 品牌网站建是啥意思seo培训机构排名
  • 档案网站建设外包公司seo快速优化方法
  • 建设网站是什么seo按照搜索引擎的什么对网站
  • 如何制作网站app重庆百度推广优化排名
  • dw网页设计心得体会株洲seo优化首选
  • 数据库网站建设教程全网整合营销公司
  • 技术合同 网站开发域名注册平台
  • 韩国有哪些专业做汽车的网站?网站策划书的撰写流程
  • 汕头兼职网站建设网站排名优化的技巧
  • 好看的网站设计公司谷歌seo网站排名优化
  • 石碣镇仿做网站百度搜索引擎关键词优化
  • 柳州制作网站网站安全检测中心
  • 网站后台修改图片青岛的seo服务公司