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

wordpress 视频站手机自己做网站

wordpress 视频站,手机自己做网站,wordpress prower,浅谈网站建设1.在一个排序的链表中#xff0c;存在重复的结点#xff0c;请删除该链表中重复的结点#xff0c;重复的结点不保留#xff0c;返回链表头指针 本题的意思是要删除链表中重复出现的节点#xff0c;然后返回删除重复节点后的链表。 我们可以直接用一个哨兵位以便于观察链表…1.在一个排序的链表中存在重复的结点请删除该链表中重复的结点重复的结点不保留返回链表头指针 本题的意思是要删除链表中重复出现的节点然后返回删除重复节点后的链表。 我们可以直接用一个哨兵位以便于观察链表的情况然后用前后指针来解决这个问题。如果当前节点cur的值与其当前节点的next的所存储的值相等且cur的next不为空cur就变成cur的next然后用while循环进行判断如果cur的val与cur的next的val相等且cur的next不为空就然后cur往后移动直到遇到不相同的情况跳出循环后cur还要记得移动到cur的next然后再将前指针prev的next置为cur这样就可以将相等的节点省略。当cur的next为空或者cur的值与cur的next的值不相等时就直接先将prev置为cur再将cur往后移动变成cur的next。最后返回哨兵位vpead的next就是存储了有效数据的首节点就可以返回整个删除后的单链表了。 完整代码如下 struct ListNode *deleteDuplication(struct ListNode *pHead) {struct ListNode *vHead;vHead (struct ListNode *)malloc(sizeof(struct ListNode));vHead-next pHead;//定义虚头结点方便边界情况讨论struct ListNode *pre, *cur;pre vHead, cur pHead;while (cur){if (cur-next cur-val cur-next-val){cur cur-next;while (cur-next cur-val cur-next-val)cur cur-next;//当遇到与下一节点值相同时,cur推进到最后一个重复的数字处//本数字舍去,pre连接到下一个cur cur-next;pre-next cur;}//遇到与下一节点值不同或者是没有下一节点时,pre移动到此处,cur继续后移else if(!cur-next || cur-val ! cur-next-val){pre cur;cur cur-next;}}return vHead-next; }2.对链表进行插入排序 本题也要使用到哨兵位用哨兵位的next最后可以返回排序完后的链表并且使用前后指针进行大小比较若是逆序则用前后指针的关系进行交换即可 完整代码如下 struct ListNode *insertionSortList(struct ListNode *head) {if (head NULL) return head;struct ListNode *dummyHead malloc(sizeof(struct ListNode));dummyHead-val 0;dummyHead-next head;//哨兵位struct ListNode *lastSorted head;struct ListNode *curr head-next;while (curr ! NULL) {if (lastSorted-val curr-val) {lastSorted lastSorted-next;} else {struct ListNode *prev dummyHead;while (prev-next-val curr-val) {prev prev-next;}lastSorted-next curr-next;curr-next prev-next;prev-next curr;}curr lastSorted-next;}return dummyHead-next; }3.给定一个链表返回链表开始入环的第一个节点。 如果链表无环则返回 NULL 本题的意思很简单就是一个判断链表是否有环的问题如果有环就返回那个节点看图就明白了就是最后一个节点的next会连接到前面的节点就是有环。 到这里我们就要有一个大概的思路了–快慢指针 我们用慢指针slow一次走一步fast一次走两步到最后他们就一定会相遇因为他们移动的差距只有一步一次追一步就必然会相遇。当slow和fast相遇时我们再定义一个新指针从头节点开始往后移动同时将slow或者fast往后移动当这个新指针与slow或者fast相等时这个节点就返回这个节点这个节点就是链表尾链接到链表的节点。 完整代码如下 struct ListNode* detectCycle(struct ListNode* head) {struct ListNode *slow head, *fast head;while (fast ! NULL) {slow slow-next;if (fast-next NULL) {return NULL;}fast fast-next-next;if (fast slow) {struct ListNode* ptr head;while (ptr ! slow) {ptr ptr-next;slow slow-next;}return ptr;}}return NULL; }4.给定一个链表判断链表中是否有环 有了上一题的思路这一题就很简单了让slow指针和fast指针分别往后移动slow一次走一步fast一次走两步如果二者能相遇相遇即slow指针会与fast指针相等那就是链表中有环否则无环 完整代码如下 bool hasCycle(struct ListNode *head) {struct ListNode* slowhead;struct ListNode* fasthead;while(fastfast-next){slowslow-next;fastfast-next-next;if(slowfast)return true;}return false; }5.输入两个链表找出它们的第一个公共结点 其实这一题也很简单 首先我们得判断这个链表是否会相交如果相交那么两个链表的尾节点就会相等若不想等就直接返回NULL指针 其次我们分别求两个链表的长度用tail尾指针遍历求出lenA,lenB 然后我们用lenA-lenB相减的绝对值就能得出两个链表的长度差gap让长的链表先走gap步然后短的链表再和长的链表一起走当两个链表的指针节点相等时这个节点就是两个链表相遇的节点返回这个节点即可 完整代码如下 struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode *headB) {struct ListNode* tailAheadA;struct ListNode* tailBheadB;int lenA1;int lenB1;while(tailA){tailAtailA-next;lenA;}while(tailB){tailBtailB-next;lenB;}if(tailA!tailB){return NULL;}int gapabs(lenA-lenB);struct ListNode* longlistheadA;struct ListNode* shortlistheadB;if(lenAlenB)//若长链表尾b则互换{longlistheadB;shortlistheadA; }while(gap--){longlistlonglist-next;}while(longlist!shortlist){longlistlonglist-next;shortlistshortlist-next;}return longlist; }我们再OJ题的解题中可以发现快慢指针的解题思路是非常重要的大家可以多去做一点题 好了今天的分享到这里就结束了谢谢大家的支持
http://www.zqtcl.cn/news/402832/

相关文章:

  • 贵阳网站建设需要多少钱百度资源搜索平台
  • 做安全防护信息的网站wordpress初始密码
  • 广东企业网站seo哪里好微信公众号怎么创建文章
  • 建行网站登录不了wordpress好主题
  • 南屏网站建设湖北省建设厅的网站
  • 有没有做花卉种子的网站啊正规网站建设服务
  • 长沙网站建设公司招聘那个建设网站好
  • 网站开发视频下载网站优化关键词排名自己怎么做
  • 网站建设 流程咸宁网站建设哪家好
  • 建站公司兴田德润实惠钦州建设局网站
  • 高新区免费网站建设旅游网站开发设计与实现
  • 怎样做才能让网站帮忙送东西线上推广方案怎么做
  • 服装公司网站网页设计友情链接交换网站
  • 公司建设网站需要去哪报备网页挂马
  • 做网站需要代码吗秦皇岛在哪里
  • 番禺网站设计公司万网查询全部域名
  • 电子商务网站建设与运营的试题集团高端网站
  • 天津网站建设电话网页制作与设计调试分析
  • 深圳中建南方建设集团网站自己的网站建设
  • 有些网站怎么经常换域名北京宣传片制作公司
  • 网站改版降权多久恢复经典网站
  • 南昌建网站的公司中国专业做鞋子的网站
  • 做100个垂直网站网站建设外包
  • 网站开发图片素材营销软文的范文
  • 手机网站免费建设排行湖南公司响应式网站建设价位
  • 专业网站设计制作价格wordpress 动画特效
  • 如何找企业联系做网站网站内容建设的核心和根本是
  • 网站制作找如何判断一个网站是恶意网站
  • dedecms 网站导航建设自己网站的流程图
  • 临海城市建设网站石家庄做网站的公司有哪些