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

宁德营销型网站建设网站关键字没有排名

宁德营销型网站建设,网站关键字没有排名,搜索引擎优化是做什么的,苏州app软件开发公司目录 一.【Leetcode203】移除链表元素 1.链接 2.题目再现 A.双指针法 B.类尾删法 C.哨兵位 二.【Leetcode876】链表的中间节点 1.链接#xff1a;链表的中间节点 2.题目再现 3.解法#xff1a;快慢指针 三.链表中倒数第k个节点 1.链接#xff1a;链表中倒数第k个… 目录 一.【Leetcode203】移除链表元素 1.链接 2.题目再现 A.双指针法 B.类尾删法 C.哨兵位 二.【Leetcode876】链表的中间节点 1.链接链表的中间节点 2.题目再现 3.解法快慢指针 三.链表中倒数第k个节点 1.链接链表中倒数第k个节点 2.题目再现 3.解法 快慢指针 一.【Leetcode203】移除链表元素 1.链接 移除链表元素 2.题目再现 A.双指针法 1.创建一个指针 curhead  和一个指针  preNULL   2.用cur-val 与 val 比较,如果不相等则把 cur 赋给 pre 使cur 指向下一个节点即    curcur-next 3.如果相等则使 pre 的 next 指向 cur 的 next 即  pre-nextcur-next 然后再 free 掉 cur ,最后再使 cur 等于 pre 的 next注意在进行这些步骤之前要判断 pre 是否为空 若为空即为头删 演示 双指针代码 struct ListNode* removeElements(struct ListNode* head, int val) {struct ListNode*preNULL;struct ListNode*curhead;while(cur){if(cur-val!val){precur;curcur-next;}else {if(preNULL){headcur-next;free(cur);curhead;}else {pre-nextcur-next;curpre-next;}}}return head; } B.类尾删法 1.创建一个新的指针newhead 同时为了省去找尾的麻烦我们可以定义一个尾指针 tail 来保存尾节点 2.再创建一个指针 cur head ,用来遍历链表 3.如果 cur-val ! val 则尾插 注意要判断 tail 是否为空 类似于单链表的尾插那部分如果不理解的话可查看文章 单链表的增删查改 4.如果 cur-val val则 curcur-next 5.最后要将尾节点置空。 演示 类尾插代码 struct ListNode* removeElements(struct ListNode* head, int val) {struct ListNode *newheadNULL;struct ListNode*tailNULL;struct ListNode*curhead;while(cur){if(cur-val!val){if(tailNULL){newheadtailcur;}else {tail-nextcur;tailtail-next;}curcur-next;}else{curcur-next;}}if(tail){tail-nextNULL;}return newhead; } C.哨兵位 1.malloc 一个哨兵位节点 dummyhead使其 next 指向 head 2.再定义一个节点 tmp dummyhead 用这个遍历链表 3.注意因为 tmp -next 才是 head 所以 while 里要写 tmp-next !NULL 演示 移除链表元素 哨兵位法动态演示代码 struct ListNode* removeElements(struct ListNode* head, int val) {struct ListNode*dummyhead(struct ListNode*)malloc(sizeof(struct ListNode));dummyhead-nexthead;struct ListNode*tmpdummyhead;while(tmp-next!NULL){if(tmp-next-valval){tmp-nexttmp-next-next;}else {tmptmp-next;}}return dummyhead-next; } 二.【Leetcode876】链表的中间节点 1.链接链表的中间节点 2.题目再现 3.解法快慢指针 1.定义一个快指针 fast 和一个慢指针 slow 都初始化为 head; 2.遍历链表快指针一次走2步慢指针一次走1步  3.注意因为链表的长度可能是单数也可能是双数所以当我们已 fast 是否为NULL 作为循环控制条件的话要在 fast 走2步前判断 fast-next 是否为空 4.最后慢指针就是中间节点。 演示 链表中间节点 快慢指针动态演示代码 struct ListNode* middleNode(struct ListNode* head) {struct ListNode*slowhead;struct ListNode*fasthead;while(fast){if(fast-nextNULL) //注意判断{break;}else{fastfast-next-next; //fast 走2步}slowslow-next; //slow 走1步}return slow; //返回慢指针 } 三.链表中倒数第k个节点 1.链接链表中倒数第k个节点 2.题目再现 3.解法 快慢指针 1.定义一个快指针 fast 和一个慢指针 slow 都初始化为 head; 2.因为倒数第k个节点和尾节点的差为 k-1  所以我们先让快指针先走 k-1 步 或者因为尾节点所指向的NULL 和倒数第k个节点相差k也可以先让快指针走k步 这个时候慢指针不动 3.快指针走完后快指针和慢指针依次走每次只走1步 注意如果是k-1那么遍历结束的条件是fast-next 是否为空 如果是k那么遍历结束的条件是fast 是否为空 4.返回慢指针。 演示 链表倒数第K个节点 快慢指针动态演示代码 struct ListNode* FindKthToTail(struct ListNode* pListHead, int k ) {if(pListHeadNULL){return NULL;}struct ListNode*slowpListHead;struct ListNode*fastpListHead;while(k--) //这里以先走k步为例{if(fastNULL){return NULL;}fastfast-next;}while(fast){slowslow-next;fastfast-next;}return slow; } 本篇文章到此就结束了若有错误或是建议欢迎小伙伴们指出 请多多支持博主哦~ 谢谢你的阅读~
http://www.hkea.cn/news/14536663/

相关文章:

  • 如何查询网站的备案信息查询去马来西亚做网站网站
  • 外贸网站推广多少费用做那个的网页
  • 江门手机网站建设连云港吧
  • thinkphp5 做网站google地图嵌入网站
  • 简单的网站建设企业网站备案跟做哪个推广有关系吗
  • HTML5怎么做自适应网站建设银行官网网站首页
  • 在欣欣网上做网站效果如何互联网优化营销
  • 广州市恒嘉建设有限公司网站天猫入驻网站建设
  • 网站开发fsdpjq个人名下公司查询网
  • 北川建设局网站免备案的网站首页
  • 简洁 手机 导航网站模板下载安装江西省赣州市地图
  • 网络营销八大工具湖南seo优化按天付费
  • 网站赚钱今天的新闻内容50字
  • 网站建设开发pptwordpress接入小程序
  • 泉州市培训建设系统中心网站教师进修学校网站建设方案
  • 怎样在外管局网站做延期付款化工厂建设网站
  • 惠州网站建设兼职知识付费问答系统网站开发
  • 网站风格配置怎么做汇算清缴在哪个网站上做
  • 相城建设监理有限公司网站网站外部链接如何建设
  • 服装网站建设规划书wordpress cdn图片加速
  • 自己做网站如何挣钱wordpress 性能分析
  • 做网站分辨率一般多少网站建设投标方案
  • iis如何发布php网站网站如何加入广告联盟
  • 丽水品牌网站设计长沙住房和建设局网站
  • 2019广东省工程建设网站wordpress 临时域名
  • 营销型企业网站群策略单位做核酸简讯
  • 网站建设与制作考试题学校网站免费html模板
  • c语言做网站吗世界上有php应用的网站
  • 哪建设网站好手表交易网站
  • 免费.网站最新域名红旗渠建设集团网站