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

网站源码上传图片出错想学室内设计在哪里学

网站源码上传图片出错,想学室内设计在哪里学,安徽建设项目建设工程在线,备案查询网站【Leedcode】数据结构中链表必备的面试题#xff08;第三期#xff09; 文章目录【Leedcode】数据结构中链表必备的面试题#xff08;第三期#xff09;一、第一题1.题目2.思路3.源代码二、第二题1.题目2.思路(1)第一种情况#xff1a;偶数个链表(2)第二种情况#xff1a…【Leedcode】数据结构中链表必备的面试题第三期 文章目录【Leedcode】数据结构中链表必备的面试题第三期一、第一题1.题目2.思路3.源代码二、第二题1.题目2.思路(1)第一种情况偶数个链表(2)第二种情况奇数个链表3.源代码(1)链表的中间结点的实现(2)反转链表的实现(3)链表比较函数的实现(4)整体源代码总结一、第一题 1.题目 CM11 链表分割 如下示例 现有一链表的头指针ListNode*pHead给一定值x 编写一段代码将所有小于x的结点排在其余结点之前且不能改变原来的数据顺序返回重新排列后的链表的头指针。 2.思路 1.使用两个哨兵位的头结点lesshead和greathead把小于4的连接到lesshead后面大于4的链接到greathead后面 2.再把小于4的最后一个连接到大于4的第一个具体如下图 注意如下图 3.源代码 代码如下示例 struct ListNode {int val;struct ListNode *next; }; class Partition { public:ListNode* partition(ListNode* pHead, int x) {struct ListNode* lessHead, *lessTail, *greaterHead, *greaterTail;lessHead lessTail (struct ListNode*)malloc(sizeof(struct ListNode));greaterHead greaterTail (struct ListNode*)malloc(sizeof(struct ListNode));lessTail-next greaterTail-next NULL;struct ListNode* cur pHead;while (cur) {if (cur-val x) {lessTail-next cur;lessTail lessTail-next;}else {greaterTail-next cur;greaterTail greaterTail-next;}cur cur-next;}lessTail-next greaterHead-next;greaterTail-next NULL;struct ListNode* list lessHead-next;free(lessHead);free(greaterHead);return list;} };二、第二题 1.题目 OR36 链表的回文结构 如下示例 对于一个链表请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法判断其是否为回文结构。给定一个链表的头指针A请返回一个bool值代表其是否为回文结构。保证链表长度小于等于900。 2.思路 (1)第一种情况偶数个链表 (2)第二种情况奇数个链表 3.源代码 (1)链表的中间结点的实现 链表的中间结点的实现 如下示例 struct ListNode {int val;struct ListNode *next; } struct ListNode* middleNode(struct ListNode* head) {struct ListNode* slow,*quick;slowquickhead;while(quick quick-next){slow slow-next;quick quick-next-next;}return slow; }(2)反转链表的实现 反转链表的实现 如下示例 struct ListNode {int val;struct ListNode *next; }; struct ListNode* reverseList(struct ListNode* head) {//第二种方法struct ListNode* newheadNULL;struct ListNode* curhead;while(cur){struct ListNode* nextcur-next;cur-nextnewhead;newheadcur;curnext;}return newhead; }(3)链表比较函数的实现 代码如下示例 class PalindromeList { public:bool chkPalindrome(ListNode* A) {struct ListNode* mid middleNode(A);struct ListNode* rHead reverseList(mid);struct ListNode* curAA;struct ListNode* curR rHead;while( curA curR){if(curA - val ! curR -val){return false;}else {curAcurA-next;curR curR- next;}}return true;} };(4)整体源代码 代码如下示例 struct ListNode {int val;struct ListNode *next;ListNode(int x) : val(x), next(NULL) {} }; struct ListNode* middleNode(struct ListNode* head) {struct ListNode* slow,*quick;slowquickhead;while(quick quick-next){slow slow-next;quick quick-next-next;}return slow; } struct ListNode* reverseList(struct ListNode* head) {//第二种方法struct ListNode* newheadNULL;struct ListNode* curhead;while(cur){struct ListNode* nextcur-next;cur-nextnewhead;newheadcur;curnext;}return newhead;} class PalindromeList { public:bool chkPalindrome(ListNode* A) {struct ListNode* mid middleNode(A);struct ListNode* rHead reverseList(mid);struct ListNode* curAA;struct ListNode* curR rHead;while( curA curR){if(curA - val ! curR -val){return false;}else {curAcurA-next;curR curR- next;}}return true;} };总结 以上就是今天要讲的内容本文介绍数据结构中链表必备的面试题第三期 如果我的博客对你有所帮助记得三连支持一下感谢大家的支持
http://www.yingshimen.cn/news/71250/

相关文章:

  • 如何做网站充值可做外贸的网站有哪些
  • 如何做自己的网站商城站营销策划机构
  • 企业注册百家号可以做网站吗微信小程序 连接网站
  • 做购彩网站是怎么盈利的网站建设大概
  • 网上开店铺深圳好客站seo
  • 网站链接分析工具嵌入式开发要学哪些课程
  • 沂源县建设局网站视频网站开发计划书
  • 上海企业建站方案网站开发语言分为几种
  • 合肥网站建设讯息网站口碑推广
  • 怎样在平台上发布信息推广长沙百度首页优化排名
  • 长治市住房保障和城乡建设管理局网站提高网站权重的方法
  • php网站开发实例教程实验报告找个兼职做网站的
  • 电子商务网站建设读书报告电脑 手机网站建站
  • 响水做网站的价格做电影类网站
  • 网站全屏弹出窗口网络营销方案毕业设计
  • 济南网站sem和seo是什么职业
  • 网站后缀com第一ppt网
  • 网站建设的销售怎么做雕刻业务网站怎么做
  • 深圳网站建设选云聚达wordpress 父页面
  • 网站出现 503怎么了wordpress设置投稿
  • 福田网站设计seo外链发布平台有哪些
  • 做circrna的网站房地产重大利好消息
  • 高端网站设计高端网站制作学做ps的软件的网站
  • 如何做好网站的优化机械加工网红订单
  • 网站建设捌金手指下拉一wordpress页眉logo链接
  • 做一个介绍网站多少钱WordPress目录怎么发表文章
  • 怎么做虚拟的网站河南企业做网站
  • wordpress抖音插件郑州seo关键词优化公司
  • 网站建设怎么查看多少有页佳木斯做微网站
  • 免费做网站用什么软件怎么把网站做成app