当前位置: 首页 > 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.bjxfkj.com.cn/article/106615.html

相关文章:

  • 网站如何paypal支付方式seo站外推广
  • 地方信息网站源码天津seo结算
  • 做gif表情包的网站千锋教育培训机构可靠吗
  • 网站建设 java极速一区二区三区精品
  • 网站构建是什么意思快速建网站
  • 做美术鉴赏网站的心得百度人工客服在哪里找
  • 有关于做茗茶的网站昨日凌晨北京突然宣布重大消息
  • 网站设计风格潍坊做网站公司
  • 企业网站建设的类型有哪些竞价培训课程
  • 万网建设网站教程网店推广平台有哪些
  • wordpress模板剥离宁德seo培训
  • 林芝网站建设站长seo
  • 英文 网站 字体适合seo软件
  • 郑州网站建设套餐2023最新15件重大新闻
  • 建站公司服务费包括哪些网站运营推广
  • 设计有特色的网站搜索引擎营销sem
  • asp.net程序做的网站安全吗6上海哪家优化公司好
  • 网络推广的细节佛山百度seo点击软件
  • 相机拍照的图片怎么做网站呀网络营销的八大职能
  • 跨境独立站建站平台有哪些中山谷歌推广
  • 什么网站可以做性格测试百度竞价排名一年费用
  • 如何做h5商城网站如何推广一个品牌
  • 家用网络建网站店铺推广方法
  • 湖北专业的网站制作代理商徐州百度推广电话
  • 域名注册后网站建设中国网站排名前100
  • 微信小程序开发团队南京网络优化培训
  • 可以直接进入的正能量网站老狼seo网站推广软件排名
  • 百度如何推广广告东莞seo外包公司哪家好
  • 地方门户网站带手机版百度信息流投放方式有哪些
  • 网站开发技术前景最好百度推广平台