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

微信小程序店铺怎么弄seo网站推广计划

微信小程序店铺怎么弄,seo网站推广计划,成品影视app开发制作,网站开发二维码生成题目 链表的中间结点原题入口题目内容题目解析思路一代码实现一思路二代码实现二 链表中倒数第k个结点题目链接题目内容思路代码实现 合并两个有序链表原题入口题目内容思路代码实现 反转链表题目传送入口题目内容思路一代码复现一思路二代码实现二 链表的中间结点 原题入口 … 题目 链表的中间结点原题入口题目内容题目解析思路一代码实现一思路二代码实现二 链表中倒数第k个结点题目链接题目内容思路代码实现 合并两个有序链表原题入口题目内容思路代码实现 反转链表题目传送入口题目内容思路一代码复现一思路二代码实现二 链表的中间结点 原题入口 题目内容 给你单链表的头结点 head 请你找出并返回链表的中间结点。 如果有两个中间结点则返回第二个中间结点。 题目解析 该题我们选择一次遍历返回中间结点,可以选择两次遍历,只是时间复杂度变大了,这里介绍比较优的解法 思路一 该思路利用快慢指针的方法,快指针一次跳两个结点,慢指针一次跳一个结点,来实现中间的效果,此处中间的思想有了头绪,那么结束循环的条件又是我们要考虑的了,如果是奇数个结点,fast在最后一个结点停止,最后一个结点的next才等于NULL,奇数的结束条件是fast-nextNULL;就偶数而言,结束条件就是NULL 代码实现一 struct ListNode* middleNode(struct ListNode* head) {struct ListNode* fasthead,* slowhead;//可以简化代码,把slow去除,直接替换为headwhile(fastfast-next){slowslow-next;fastfast-next-next;}return slow; }思路二 核心思想是使用两个计数器 count 和 ret通过遍历链表找到中间位置的节点。其中通过判断 count / 2 1 ret 来确定是否为中间位置。这样当循环结束时head 指向的节点即为链表的中间节点。 代码实现二 struct ListNode* middleNode(struct ListNode* head) {struct ListNode* tem head;int count 1,ret 1;while(tem){ if(count/21ret){headhead-next;ret;}count; temtem-next;}return head; }链表中倒数第k个结点 题目链接 题目内容 输入一个链表输出该链表中倒数第k个结点。 思路 快慢指针的思想,先让快指针走k步,然后快慢指针同时走,注意判断快指针是否越界 代码实现 struct ListNode* FindKthToTail(struct ListNode* pListHead, int k ) {struct ListNode* p1pListHead,* p2pListHead;while(k--){if(p1NULL) return NULL;p1p1-next;}while(p1){p2p2-next;p1p1-next;}return p2; }合并两个有序链表 原题入口 题目内容 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 思路 类似两个有序数组合并,先考虑空链表的情况,再通过遍历两个有序链表一次逐个比较节点的值将较小的节点连接到合并链表中最终得到合并后的有序链表。 代码实现 struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2) {struct ListNode* head NULL,* tail NULL;if(list1NULL) return list2;if(list2NULL) return list1;while(list1list2){if(list1-vallist2-val){if(headNULL){headtaillist2;}else{tail-nextlist2;tailtail-next;}list2list2-next;}else {if(headNULL){headtaillist1;}else{tail-nextlist1;tailtail-next;} list1list1-next;}}if(list1)tail-nextlist1;if(list2)tail-nextlist2;return head; }反转链表 题目传送入口 题目内容 给你单链表的头节点 head 请你反转链表并返回反转后的链表。 思路一 在遍历链表的过程中,改变结点指向的方向,原题实例,如果将2的next指向1的话,你就丢失2之后的结点,所以我们要用3个指针**,前两个指针改变导向,第三个指针记录第二个指针的下一个位置** 代码复现一 struct ListNode* reverseList(struct ListNode* head) { if(headNULL) return NULL;struct ListNode* p1 NULL;struct ListNode* p2 head;struct ListNode* p3 head-next;while(p2){p2-next p1;p1p2;p2p3;if(p3)p3p3-next;}return p1; }思路二 第二种思路与第一种比较相似,第二种采用尾插的方法来进行结点的逐个插入,仍旧采用三指针,前两个指针对结点尾插,第三个结点记录下一个结点的位置,防止失去与原链表的关联 代码实现二 struct ListNode* reverseList(struct ListNode* head) {struct ListNode* rhead NULL, * cur head;while (cur){struct ListNode* next cur-next;cur-next rhead;rhead cur;cur next;}return rhead; }
http://www.dnsts.com.cn/news/2523.html

相关文章:

  • 用asp.net做购物网站seo教程培训班
  • 泉州优化公司全网seo
  • 企业网站建设亮点一个自己的网站
  • 网站后台 编辑器 调用seo技术外包公司
  • 哈尔滨网站如何制作seo关键字排名
  • 常州网站制作公司多吗上海网站快速优化排名
  • 网站权重等级推广app赚佣金
  • 加油站网站大全会计培训班要多少钱一般要学多久
  • 二手车网站制作贵吗石家庄seo全网营销
  • 传奇如何做网站网站内部seo优化包括
  • 杭州做网站的网络公司有哪些广州网络推广公司排名
  • 让别人做网站要注意什么6南昌seo优化公司
  • 用什么软件做网站好处网站seo报告
  • 网站session 验证怎么样推广自己的网址
  • 怎么在网站上做推广微信营销工具
  • 建设微网站多少钱微信营销的优势
  • 桂林做网站多少钱关键词指数查询工具
  • 环保局网站建设百度快照怎么做
  • 国内知名网站建设公司建网站赚钱
  • 有没有介绍做私家导游的网站军事新闻 今日关注
  • 网站建设 唐山软文外链代发
  • 南山区做网站济南网站建设公司
  • 做爰视频免费安全的网站管理微信软件
  • 淄博网站制作形象seo外包多少钱
  • 建购物的网站需要多少钱最好用的磁力搜索器
  • 做网站哪家最便宜厦门seo网站管理
  • 网站开发协议长春网站建设开发
  • b站视频怎么快速推广河南省网站
  • 物流网站制作目的企业营销推广策划
  • 执法网站建设方案百度推广上班怎么样