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

响应式网站怎么做wordpress多用户评论

响应式网站怎么做,wordpress多用户评论,公司网站制作服务,平板网站建设目录 第一题 思路#xff1a; 第二题 思路 第三题 描述 示例1 思路 总结#xff1a;这种类似的题#xff0c;都是用快慢指针#xff0c;相差一定的距离然后输出慢指针。 第一题 给你一个链表的头节点 head 和一个整数 val #xff0c;请你删除链表中所有满足 Node.val…目录 第一题 思路 第二题 思路 第三题 描述 示例1 思路 总结这种类似的题都是用快慢指针相差一定的距离然后输出慢指针。 第一题 给你一个链表的头节点 head 和一个整数 val 请你删除链表中所有满足 Node.val val 的节点并返回 新的头节点 。 示例 1 输入head [1,2,6,3,4,5,6], val 6 输出[1,2,3,4,5]示例 2 输入head [], val 1 输出[]示例 3 输入head [7,7,7,7], val 7 输出[] 方法一 思路 快慢指针一个指向目标结点一个指向目标结点的前驱结点。用一个tmp保存pos-next.                   free()掉目标结点。 分两种情况如果只有一个节点或者要删除的结点是首元节点那么这时pre为NULLpos                       指向pos否则pre-next pos struct ListNode* removeElements(struct ListNode* head, int val) {struct ListNode* pre NULL;struct ListNode* pos head;while(pos!NULL){if(pos-valval){struct ListNode* tmp pos-next;free(pos);pos tmp;if(preNULL){head pos;}else{pre-next pos;}}else{pre pos;pos pos-next;}}return head; } 方法二  思想 创建新链表用尾插法尾插法没有改变原指针的next指向所以不用保存next节点 但是在free时要保存下一节点。 struct ListNode* removeElements(struct ListNode* head, int val) {struct ListNode* cur head;struct ListNode* newhead NULL;struct ListNode* tail NULL;while(cur!NULL){if(cur-val!val){if(newheadNULL){newhead tail cur;}else{tail-next cur;tail cur;}cur cur-next;}else{struct ListNode* tmp cur -next;free(cur);cur tmp;}}if(tail)tail-nextNULL;return newhead;} 第二题 给你单链表的头结点 head 请你找出并返回链表的中间结点。 如果有两个中间结点则返回第二个中间结点。 示例 1 输入head [1,2,3,4,5] 输出[3,4,5] 解释链表只有一个中间结点值为 3 。示例 2 输入head [1,2,3,4,5,6] 输出[4,5,6] 解释该链表有两个中间结点值分别为 3 和 4 返回第二个结点。 思路 用快慢指针快指针一次走两个慢指针一次走一个。这样他们的路程之间差二倍。所以输出慢指针即输出中间节点。 struct ListNode* middleNode(struct ListNode* head) {struct ListNode* slow head;struct ListNode* fast head;while(fast!NULLfast-next!NULL){slow slow -next;fast fast-next-next;}return slow; } 第三题 描述 输入一个链表输出该链表中倒数第k个结点。 示例1 输入 1,{1,2,3,4,5} 复制返回值 {5} 思路 用快慢指针快指针比慢指针先走k步然后两者在同时走。 struct ListNode* FindKthToTail(struct ListNode* pListHead, int k ) {// write code herestruct ListNode* pre pListHead;struct ListNode* pos pListHead;while(k--){if(pos!NULL){pos pos-next;}else{return NULL;}}while(pos!NULL){pre pre-next;pos pos-next;}return pre;} 总结这种类似的题都是用快慢指针相差一定的距离然后输出慢指针。 第四题  给你单链表的头节点 head 请你反转链表并返回反转后的链表。 示例 1 输入head [1,2,3,4,5] 输出[5,4,3,2,1]示例 2 输入head [1,2] 输出[2,1]示例 3 输入head [] 输出[]提示 链表中节点的数目范围是 [0, 5000]-5000 Node.val 5000 进阶链表可以选用迭代或递归方式完成反转。你能否用两种方法解决这道题 方法一 将节点之间的next翻转。 用三个指针的原因是只用两个指针翻转时会导致链表断裂但是用第三个指针保存下一个节点这样链表就不会断裂。 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*///方法一 struct ListNode* reverseList(struct ListNode* head) {if(headNULL)return NULL;struct ListNode* left NULL;struct ListNode* right head;struct ListNode* tmp head-next;while(right!NULL){right-next left;left right;right tmp;if(tmp!NULL)tmp tmp-next;}return left; } 方法二  用头插法注意头插法需要保存指针。尾插法不用保存指针。 错误总结 1注意头插是新结点指向头结点然后在将新节点设置为头结点。而不是直接将新节点设置为头节点  2C语言赋值语句左值是变量将新节点设置为头结点。newnode cur这是头结点为cur //方法二 struct ListNode* reverseList(struct ListNode* head) {if(headNULL)return NULL;struct ListNode* cur head;struct ListNode* newhead NULL;while(cur!NULL){struct ListNode* next cur -next; //保存下一个cur-next newhead;newhead cur;cur next;}return newhead; }
http://www.dnsts.com.cn/news/241321.html

相关文章:

  • 什么公司可以做网站盐城建设公司网站
  • 搬家网站建设思路个人养老保险查询个人账户查询官网
  • asp网站设计要求苏州网架公司
  • python 网站开发小项目辛集手机网站建设
  • 网站建设个人兼职做的网站需要什么技术
  • 可以做任务看漫画的漫画网站电子商务网页设计与网站建设论文
  • 深圳网站搭建哪里好网站策划的重要性
  • 怎么推广自己的链接重庆seo代理
  • 网页制作与网站建设实战大全读后感ppt设计理念
  • 阿里云服务器windows系统网站搭建教程wordpress怎么进行页面修改
  • 如何做网站seo诊断wordpress cdn国内插件
  • 想做电商网站运营要怎么做济南网络科技公司
  • 桂林网络公司官网维护东莞优化seo
  • 微信网站开发公司网站建设 首选百川互动
  • iis wordpress 多站点网站的需求
  • 网站改版换了域名wordpress 手机菜单栏
  • wdcp 默认网站看颜色应该搜索哪些词汇
  • 石家庄定制网站建设服务wordpress导航横着
  • 做网站充值犯法吗哪些ppt网站是免费的
  • 网站代码加密晋中建设机械网站
  • 淘宝客个人网站建设网页设计与制作题目
  • 天津开发区网站设计公司中国建设银行联行号查询网站
  • discuz门户网站模板手机一般通过什么来进行知识点挖掘
  • 网站公司打电话来说做网站浙江工程信息网
  • 不能打开建设银行网站怎么办网站建设交易平台
  • 红酒专业网站建设网站建设微商城多少钱
  • 在线做初中题网站谷歌play商店官网
  • 网站建设报价流程网站配置怎么
  • 比较出名的网站建设公司网站规划与开发
  • 视频分享网站建设做一款小程序需要多少钱