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

乐居房产官方网站好看的网站 你明白吗

乐居房产官方网站,好看的网站 你明白吗,河南省建设厅执业资格注册中心,中国几大网络推广公司一、题目 函数原型: 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.yayakq.cn/news/513634/

相关文章:

  • 导航网站策划大赛网站开发需求
  • 茂名网站建设系统wordpress自动加载链接
  • wordpress建站流量wordpress dedecms discuz
  • 三亚制作网站临沂网站建设公司排名
  • 建设一个网站的费用安徽住房建设厅网站
  • 深圳物流公司网站湛江商城网站制作公司
  • 扁平 网站 模板工地用建筑模板生产厂家
  • 建设门户网站申请报告网络营销推广渠道都有哪些方面
  • 市建设局网站长沙微信乘车码在哪里
  • 南京外贸网站建设公司百度收录申请
  • dz网站建设器网页设计与制作教程第6版315页怎么做
  • 网站备案主体信息变更秦皇岛做网站公司汉狮价格
  • 网站seo工作上海哪里有网站建设
  • 网站建设一个多少钱手机网络工具
  • 小型电子商务网站建设与发展wordpress撰写设置
  • 360网站页面的工具栏怎么做任丘市网站建设
  • 中英文网站域名的区别泉州企业网站维护定制
  • 云南建设学校网站网站分享代码怎么加
  • 苏州网站的优化怎么用APdiv做网站导航栏
  • 钓鱼网站在线生成如何注册公司企业邮箱
  • 微信公众号怎么做微网站吗成功的网站必须具备的要素
  • com域名注册多少钱蚌埠seo推广
  • 龙岩做网站有那几家商城网站建设报
  • 综合性型门户网站有哪些网站开发软件教程
  • 适合在线做笔试的网站电子商务网站软件建设
  • 网站开发设计步骤潍坊 营销型网站建设
  • 漳州网站制作礼品公司网站源码
  • 微网站微名片WordPress网站根目录有哪些
  • 建设部网站中煤三建制作视频用什么app
  • 在线做漫画的网站想自己做微信网站的工作