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

深圳网站做的好的公司名称傻瓜式php网站开发工具

深圳网站做的好的公司名称,傻瓜式php网站开发工具,建工网校一建,贵州网站建设seo优化目录 题目要求 手搓两个相交简易链表 代码实现 题目要求 两个单链表的头节点 headA 和 headB #xff0c;请找出并返回两个单链表相交的起始节点#xff0c;如果两个链表不存在相交节点#xff0c;则返回 NULL 手搓两个相交简易链表 代码演示#xff1a; struct Lis…目录 题目要求 手搓两个相交简易链表 代码实现  题目要求 两个单链表的头节点 headA 和 headB 请找出并返回两个单链表相交的起始节点如果两个链表不存在相交节点则返回 NULL 手搓两个相交简易链表 代码演示 struct ListNode* a1 (struct ListNode*)malloc(sizeof(struct ListNode)); assert(a1); struct ListNode* a2 (struct ListNode*)malloc(sizeof(struct ListNode)); assert(a2);a1-val 1; a2-val 2;a1-next a2;struct ListNode* b1 (struct ListNode*)malloc(sizeof(struct ListNode)); assert(b1); struct ListNode* b2 (struct ListNode*)malloc(sizeof(struct ListNode)); assert(b2); struct ListNode* b3 (struct ListNode*)malloc(sizeof(struct ListNode)); assert(b3);b1-val 1; b2-val 2; b3-val 3;b1-next b2; b2-next b3;struct ListNode* c1 (struct ListNode*)malloc(sizeof(struct ListNode)); assert(c1); struct ListNode* c2 (struct ListNode*)malloc(sizeof(struct ListNode)); assert(c2); struct ListNode* c3 (struct ListNode*)malloc(sizeof(struct ListNode)); assert(c3);c1-val 1; c2-val 2; c3-val 3;a2-next c1; b3-next c1; c1-next c2; c2-next c3; c3-next NULL; 代码实现 代码演示 struct ListNode* getIntersectionNode(struct ListNode* headA, struct ListNode* headB) {// 先找各自链表的尾节点判断是否相交struct ListNode* tailA headA;struct ListNode* tailB headB;int lenA 1;int lenB 1;while (tailA-next ! NULL){tailA tailA-next;lenA;}while (tailB-next ! NULL){tailB tailB-next;lenB;}if (tailA ! tailB)return NULL;// 找相交节点int gap abs(lenA - lenB);struct ListNode* longList headA;struct ListNode* shortList headB;if (lenA lenB){longList headB;shortList headA;}while (gap--){longList longList-next;}while (longList ! shortList){longList longList-next;shortList shortList-next;}return longList; } 代码解析 代码思路先判断两个链表是否相交那么就是看尾节点是否相同不相同就说明不相交返回NULL 即可尾节点相同则表示相交再将节点长的链表走差距步然后再同时往后走找到相同的节点时就是相交的节点 代码逻辑两个链表各自往后走并记录各自节点的个数先判断尾节点的地址是否相同注意不是判断两个节点的数据是否相同不想同就返回 NULL 相同就利用 abs 函数求出 lenA 减去 lenB 的绝对值就是两个链表相差的节点个数再求出长的链表先走差距步再一起往后走走到地址相同的节点时就时交点 代码验证 算法的时间和空间复杂度 3 个 while 循环执行了 N 次也就是 3*N除去 3 且没有产生额外的空间 时间复杂度 O(N) 空间复杂度O(1)
http://www.w-s-a.com/news/495115/

相关文章:

  • 沛县做网站xlec网站建设开发方式包括哪些方面
  • 山西网站建设 哪家好四川城乡和建设厅网站
  • 有瀑布流的网站小型商城网站
  • 百石网怎么做网站二次开发软件
  • 网站域名是什么东西制作网页哪家好
  • 合肥网站建设团队简述网站内容管理流程
  • 网站广告是内容营销吗wordpress增加背景图片
  • 网站建设技术jsp课程设计响应式布局网站开发
  • 东莞网站排名优化seo套路网站怎么做的
  • 我做网站网络建站一般多少钱
  • 如何快速提升网站关键词排名房地产网站开发毕业设计
  • 做网站 提交源码 论坛sem分析是什么意思
  • 网站建设与部署阿里云大学百度付费推广有几种方式
  • 作品集怎么做网站个人简历模板免费下
  • 工业网站素材重庆关键词自动排名
  • 拖拽式网站建设费用微网站怎么做的好名字
  • 长沙电信网站备案谷歌推广怎么做最有效
  • 网站建设与管理总结报告华为开发者联盟
  • 门诊部网站建设天空建筑网站
  • 扬州市城乡建设网站高端品牌鞋子有哪些牌子
  • 杭州网站建设招聘网长沙网络销售公司
  • 网站制作一年多少钱免费做电子章网站
  • 信誉好的营销网站建设徐州市铜山新区建设局网站
  • 建行网站关于我们山西seo和网络推广
  • 1m带宽做网站怎么样深圳网站建设制作开发公司
  • 网站建设 服务内容 费用郴州网站建设公司哪里有
  • 网站关键词重要性育才网站建设
  • 网络安全形势下怎么建设学校网站wordpress最新主题下载
  • 自己建设网站需要什么条件.gs域名做网站怎么样
  • 网上做公益的网站推广手机卡返佣平台