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

电商网站计划重庆网站开发小顶网

电商网站计划,重庆网站开发小顶网,小说关键词搜索器,怎么做投票 网站目录 题目要求 手搓两个相交简易链表 代码实现 题目要求 两个单链表的头节点 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.dnsts.com.cn/news/204546.html

相关文章:

  • 专业企业网站开发公司wordpress多少文章
  • 苏州市住房建设局网站首页动态链接做网站外链图
  • 中铝长城建设有限公司网站网站改版Excel怎么做
  • 辽宁城乡建设集团网站科技发展给我们的生活带来的变化
  • 网站后端都需要什么意思南川区 网站集约化建设方案
  • 云霄建设局网站学校网站建设方案模板下载
  • 天津河东做网站贵吗1688黄页网品种大全2021
  • 怎么查网站权重seo兼职平台
  • xml网站地图制作风格 特别的网站
  • 网站两侧对联广告图片公共资源交易中心是属于哪个部门
  • 大连模板建站定制网站手机网站创建
  • 江苏华悦建设集团网站手游托在什么网站申请
  • 俄文手机网站制作跨境电商平台一览表
  • 石家庄免费做网站买个app需要多少钱
  • 企业网站制作需要多少费用wordpress画界面
  • 免费素材下载网站有哪些哪个网站可以做店招
  • 西安公司网站建设短视频seo
  • 浙江建设信息港网站南京文化云网站建设
  • 给网站怎么做tag标签建设网站利用点击量赚钱
  • 网站域名备案与解析桂林论坛网站有哪些
  • 湖北省平安建设网站哈尔滨网站建设赚钱么
  • 网站焦点图素材虚拟主机WordPress镜像下载
  • 营销类型网站怎么建设网页微博怎么看直播
  • 上海网站制作网万州网站建设
  • 赶集网做网站一般使用的分辨率显示密度是多少?
  • 网站总体设计方案cms站群管理系统
  • 校园网站建设情况汇报网页设计做网站
  • 哪些网站使用vue做的北京市网站建设 维护推荐
  • 公司做网站怎么推广济宁君天建设公司网站
  • 建设网站的步长沙优化网站