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

网站制作佛山做网站服务器收费吗

网站制作佛山,做网站服务器收费吗,衡水网站建设集团,天猫入驻条件及费用2023题目描述: 给你两个单链表的头节点 headA 和 headB #xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点#xff0c;返回 null 。 图示两个链表在节点 c1 开始相交#xff1a; 题目数据 保证 整个链式结构中不存在环。 注意#xff0c;函数返…题目描述: 给你两个单链表的头节点 headA 和 headB 请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点返回 null 。 图示两个链表在节点 c1 开始相交 题目数据 保证 整个链式结构中不存在环。 注意函数返回结果后链表必须 保持其原始结构 。 解题思路: 首先我们得明白,单链表只有一个next指针,如果两个单链表相交,那从相交结点开始,两链表完全相同,所以相交链表一定是Y字型的,不可能出现X型.,并且如果两链表最后一个结点不相同,则两链表一定不相交. 思路1:(暴力求解): 依次取第一个链表的一个结点与第二个链表的全部结点相比较(这里要注意比较的是结点的地址),若找到地址相同的结点,那么该结点就是相交结点,若遍历完第一个链表还没有找到,则表示两链表没有相交,其时间复杂度为O(n^2) 思路二: 如果相交链表是上如所示形状,那便可以取第一个链表的第一个结点与第二个链表的第一个结点比较,若不相同,继续比较两链表的第二个几点,直到找到相交结点.这样就可以把时间复杂度控制到O(n),这种方法虽然有效,但是碰到下图所示情况就没办法用了: 思考一下,如果两个链表相交的话,假设第一个链表在相交结点前有n个结点,第二个链表在相交结点前有m个结点,(假设nm),那么第一个链表的前n-m个结点肯定不是相交结点. 所以就可以分别遍历两个链表并求出其长度,让较长的链表先走两链表长度的差值步,使两链表相交结点前的结点数相同,这样就可以用上面讲的思路了. 这里有两个小细节: 在求两链表的长度时,遍历链表的条件为 while(cur-next ! NULL),这样遍历完成时cur指针指向的就是链表的最后一个结点,虽然这样写会导致求出来的链表长度少了1个结点,但是我们求两个链表的长度是为了知道其长度差,而两个链表长度都少1并不会影响结果由于我们并不知道两个链表谁长谁短,可以使用 if 语句判断,如果第一个链表长就让第一个链表先走,如果第二个链表长就让第二个链表先走,但是这样写会有很多代码重复.这种情况就可以使用假设法,定义一个longlist指针和一个shortlist指针,我们先让longlist指向第一个链表,short指向第二个链表,我们在判断第一个链表的长度是否大于第二个链表的长度,如果不是,则让longlist指向第二个链表,shortlst指向第一个链表,这样longlist一定指向的是长度较长的链表,short一定指向的是长度较短的链表,后续我们只要操作longlist和shortlist就好了 参考代码: struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode *headB) {struct ListNode *curAheadA;struct ListNode *curBheadB;int lenA0;int lenB0;while(curA-next){lenA;curAcurA-next;}while(curB-next){lenB;curBcurB-next;}if(curA!curB)return NULL;//假设长的链表为Astruct ListNode *longlistheadA;struct ListNode *shortlistheadB;if(lenAlenB){longlistheadB;shortlistheadA;}int nabs(lenA-lenB);//先让长链表先走while(n--){longlistlonglist-next;}//两个链表同时走找相交结点while(longlist!shortlist){longlistlonglist-next;shortlistshortlist-next;}return longlist;//return shortlist; }
http://www.yutouwan.com/news/480065/

相关文章:

  • 网站建设的目标和需求分析科技有限公司 翻译
  • 深圳最好的营销网站建设公司哪家好网站权重一直做不上去
  • 学校网站开发协议怎么样做推广网站
  • 可做装饰推广的网站wordpress 图片点击放大
  • 网站开发可行性分析报告台州网站建设系统
  • 公司网站续费一年多少钱如何进行网络销售
  • 如何建一个商业网站叮当app制作平台下载
  • 保定网站建设seo优化营销天空彩票网站怎么做
  • 青岛企业网站开发ag1042入口快速入口
  • 可以做试卷的网站英语怎么说程序员外包公司是什么意思
  • 网站建设技术问题永久使用免费虚拟主机
  • 网站建设学什么书在邯郸开互联网公司
  • 台州网站公司那里好运城市网站建设
  • 网站群管理平台免费传奇网站免费传奇
  • 哪些行业做网站最重要网时代教育培训机构怎么样
  • 专业做家具的网站有哪些木兰姐网站建设
  • 怎样在百度建立自己的网站网页设计秀丽南宁
  • 企业网站的常见服务做一个网站的策划方案
  • 网站开发用什么笔记本医疗机械网站怎么做
  • 做网站的视频教学焦作网站开发
  • 泰安网站建设xtempire广元市剑阁县建设局网站
  • 盐城网站开发厂商顶尖网站建设公司
  • 响应式网站用什么做建立网站的主要步骤
  • 动力网站html5制作手机网站教程
  • 南宁网站seo服务搜索引擎优化的内部优化
  • 甘肃省嘉峪关建设局网站泾川网站城镇建设规化图
  • 六安网站建设定制怎么开通公众号
  • 株洲市区网站建设公司app开发外包要多少钱
  • 企业网站建设设计公司医疗公司网站建设项目背景
  • 常熟做网站的中英文双语网站建设