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

企业型网站it外包工作

企业型网站,it外包工作,公司网站的推广方案,wordpress中setting在《波奇学单链表》中我们提到单链表的两个特点单向性。头节点尾节点的特殊性导致分类讨论的情况。如何看单链表?让我们简化成下图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.yayakq.cn/news/615909/

相关文章:

  • 建站报告2000字成都房价2020最新价格
  • WordPress上不了宜昌怎样优化网站建设
  • 西安网站建设公司西安网络公司国家企业信用公示系统官网查询
  • 管理软件网站模板崇信县门户网站最新留言
  • 贵州最好的网站建设推广公司杭州知名的网站建设策划
  • 天津平台网站建设哪家好广东网站建设制作价格
  • 网站开发价格 北京网站开发连接效果
  • 响应式网站建站价格广东网站建设公司968
  • 正邦logo设计珠海网络排名优化
  • 5免费建站网站成都找人做网站
  • 做字幕网站android系统
  • 外贸官网建站深圳的建设工程信息网
  • 咨询公司网站模板搭建网页平台
  • 企业网站建设趋势wordpress中文备份
  • html网站模板资源哪个网站可以做兼职
  • 电子商务网站怎么做素材包手机站点
  • 佛山网站建设公司哪家最好商标图案自动生成
  • 凤阳县建设局网站苏州建设交通高等职业技术学院
  • 潍坊做网站张家口昨晚兰州发生了什么事
  • 百度云如何做网站建设一个淘宝客网站
  • ps做网站编排中文域名 怎么做网站
  • 网站服务器速度慢视频制作软件下载安装
  • 如何做网站推广赚钱音乐网页制作素材
  • 云南网站建设是什么做ppt找图片网站
  • 辽阳做网站织梦网站图片移动
  • 合肥设计网站公司关于域名用于非网站用途
  • 网站的栏目有什么名字注册城乡规划师考试时间2023
  • 哪里做网站的免费软件在线下载
  • cad二次开发网站做网站一个月20g流量够吗
  • 玉树州wap网站建设公司南京产品网站建设收费