首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >链表交点程序的改进

链表交点程序的改进
EN

Stack Overflow用户
提问于 2018-07-29 17:30:18
回答 1查看 31关注 0票数 0

我已经写了下面的代码,以求相交点的链表。有谁能回顾一下同样的事情,并告诉我是否有什么改进可以使它更好。

阿尔戈-:

  1. 取两个指针p1和p1分别在LL-1和LL-2的头部初始化.然后让它们都遍历列表,每次一个节点。
  2. 当p1到达列表的末尾时,然后将其重定向到LL-2的头部,当p2到达列表的末尾时,将其重定向为LL-1的头。
  3. 如果在任何一点上p1遇到p2,那么p1/p2就是交集节点。 int getIntesectionNode(struct Node* head1,struct Node* head2) { struct Node *start1 1= head1;struct Node * start1 2= head2;bool endFound1 = false;bool endFound2 = false;if( start1 == NULL \ start2 == NULL) {返回-1;} while(1) {start1=start1 1->next;start2 =start1 2->next;if( start1 != start2) { if( start1 == NULL) { if ( endFound1 ) {printf(“未找到交集!");} start1 = head2;endFound1= true;} if ( start2 == NULL) { if (endFound2 ){printf(”未找到交集!");start2 = head1;endFound2 = true;}{printf(“发现交点\n”);printf("%d",start1 1->data);返回start1 1->数据;}}返回-1;}
EN

回答 1

Stack Overflow用户

发布于 2018-07-29 17:42:53

我想我不明白,但是如果你在做我想做的事情,我会用第二个循环,检查所有的LL-1和LL-2。在开始循环和进入下一个点之前,我还会检查起点是否相等,直到循环结束时才进行检查。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51582840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档