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

网站建设图片qq群杭州推广平台有哪些

网站建设图片qq群,杭州推广平台有哪些,做it的兼职网站,网页设计流行趋势在《波奇学单链表》中我们提到单链表的两个特点单向性。头节点尾节点的特殊性导致分类讨论的情况。如何看单链表?让我们简化成下图cur表示当前节点,下图表示cur移动,圆圈表示值用哨兵卫节点(新的头节点)和把尾节点看成NULL来把头尾节点一般化…

在《波奇学单链表》中我们提到单链表的两个特点

  1. 单向性。

  1. 头节点尾节点的特殊性导致分类讨论的情况。

如何看单链表?

让我们简化成下图

cur表示当前节点,下图表示cur移动,圆圈表示值

用哨兵卫节点(新的头节点)和把尾节点看成NULL来把头尾节点一般化。

struct ListNode*guard_h=(struct ListNode*)malloc(sizeof(struct ListNode));
struct ListNode*cur=guard_h;//作为移动节点

相当于有了头节点的前驱节点,可以cur->next=cur->next->next;循环

删除尾节点不用cur->next=NULL(cur是4的地址)直接cur->next=cur->next->next;

简化代码,但要注意释放开辟的空间,避免内存泄露。

快慢指针

创建两个指针一快一慢。

快慢指针找链表的中间节点:leetcode 876.链表中间节点

struct ListNode*fast=head,*slow=head;
int count=0;
while(fast)
{fast=fast->next;count++;if(count%2==0){slow=slow->next;}
}
return slow;//结束时fast为空,slow为中间节点的右边节点

变式:求中间节点的左节点(如1-2-3-4求2)

fast走的节点数=总节点数,fast和slow指针走的节点数如图。

struct ListNode*fast=head,*slow=head;
int count=0;
while(fast)
{fast=fast->next;count++;if(count%2==1&&count>=3){slow=slow->next;}
}
return slow;//结束时fast为空,slow为中间节点的左边节点

反转链表

leetcode:反转单链表

struct ListNode* reverseList(struct ListNode* head) {struct ListNode* newhead = NULL;struct ListNode* cur = head;while(cur){//next指针指向cur的下个节点struct ListNode* next = cur->next;cur->next = newhead;newhead = cur;cur = next;}

合并有序链表

leetcode:合并有序链表

思路:不要试图在原链表中进行插入操作,再开一个新的头节点,把原来链表的值拿过来链接。

用哨兵节点可以简化代码,短的拼完后,再把剩下的链接在一起就行。


struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2){struct ListNode*cur=(struct ListNode*)malloc(sizeof(struct ListNode));cur->next=NULL;cur->val=0;struct ListNode*head=cur;while(list1&&list2){if(list1->val>list2->val){head->next=list2;list2=list2->next;}else{head->next=list1;list1=list1->next;}head=head->next;}struct ListNode*list3=(list1!=NULL?list1:list2);while(list3){head->next=list3;list3=list3->next;head=head->next;}return cur->next;
}

合并链表,快慢指针,以及链表逆序这三板斧掌握了就可以解决leetcode上大部分的链表题。

示例:链表排序

思路:快慢指针找中间节点,再用中间节点不断分割,分割到只有一个节点或空链表。

一节点链表进行合并有序链表,最后把新链表再进行合并有序直到所有链表都合并完成。

总而言之,最基础就是这三个。

http://www.hengruixuexiao.com/news/54998.html

相关文章:

  • 学做简单网站磁力库
  • 新疆建设兵团卫计委网站网站seo案例
  • 用心做的网站网店推广网站
  • 岭南地区网站建设百度手机网页版
  • 什么叫网站建设指数基金定投怎么买
  • 删除wordpress主题底部seo关键词排名软件
  • 建设单位网站设计怎么找关键词
  • 网站设计知识优化手机性能的软件
  • 做个人网站要注意什么沈阳seo网站推广
  • 国外注册机网站时事新闻最新消息
  • 企业营销型网站建设规划深圳网站seo地址
  • 群晖Wordpress80端口青岛seo公司
  • 网站的功能和作用湖人最新排名最新排名
  • 自适应网站如何做mip网络的推广
  • wordpress响应式网站重庆网站优化
  • 标准型网站建设委托合同新媒体营销推广方案
  • 网站建设江苏苏州百度快速排名优化
  • 自己想做个网站怎么做杭州seo培训
  • 百度做的网站 后台管理怎么进入seo快速优化排名
  • 品牌高端网站制作企业seo知识总结
  • 网站运营经理竞价推广遇到恶意点击怎么办
  • ppt模板免费下载 素材医疗windows优化大师要会员
  • 网站标签中的图片怎么做的企业培训公司有哪些
  • 江门市建设银行网站灰色关键词排名收录
  • B2B2c机票酒店网站制作建设深圳防疫措施优化
  • 专业做网文的网站有哪些seo优化的主要任务
  • 合肥小程序搭建网站seo百度百科
  • 西宁做网站建设公司国际财经新闻
  • 昆明优化网站我想找一个营销团队
  • 不锈钢公司网站源码 网站建设 产品3级分类asp源码seo综合查询站长工具怎么用