博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1032 Sharing
阅读量:6939 次
发布时间:2019-06-27

本文共 1043 字,大约阅读时间需要 3 分钟。

题意:寻找两个链表的首个公共结点,输出其地址。

思路:

方法1.  如果LinkList1比LinkList2长,则让LinkList1先偏移(len1-len2)个结点,然后,让两个链表的的工作指针同时开始偏移,一旦遇到结点地址相同且数据域相同则退出。

方法2(更简洁). 首先遍历LinkList1,每访问一个结点,标记该结点为已经访问;然后,遍历LinkList2,一旦遇到当前结点已经被访问过了,就退出。

代码:

(方法1)

#include 
const int N=100000;struct Node{ char data; int next;}LinkList[N];int myStrlen(int head){ int len=0; while(head!=-1){ len++; head=LinkList[head].next; } return len;}int main(){ //freopen("pat.txt","r",stdin); int head1,head2,n; scanf("%d%d%d",&head1,&head2,&n); int curr,next; char data; for(int i=0;i
len2){ int cnt=len1-len2; while(cnt--){ p1=LinkList[p1].next; } }else if(len1

(方法2)

#include 
const int N=100000;struct Node{ char data; int next; bool vis;}LinkList[N];int main(){ //freopen("pat.txt","r",stdin); int head1,head2,n; scanf("%d%d%d",&head1,&head2,&n); int curr,next; char data; for(int i=0;i

 

转载于:https://www.cnblogs.com/kkmjy/p/9541822.html

你可能感兴趣的文章
shell脚本
查看>>
HTML5应用与原生应用之间的差异
查看>>
写更好的代码,还是写更少的代码?
查看>>
行如风 Angular 初识5
查看>>
[硕.Love Python] FibonacciHeap(F堆 & 斐波那契堆)
查看>>
java.lang.NoClassDefFoundError: net/tsz/afinal/htt
查看>>
我的友情链接
查看>>
SpringBoot入门之缓存
查看>>
创新=深刻的底层认识+丰富的想象力
查看>>
linux上安装Oracle 11g R2 标准版 64位
查看>>
Windows开关机、远程命令
查看>>
思科命令学习之第二篇
查看>>
24点运算
查看>>
高通平台信号强度和质量的log过滤
查看>>
Yii使用CPagination分页
查看>>
总结自己常用的Eclipse常用快捷键
查看>>
linux系统启动流程
查看>>
Spring MVC如何把全局异常记录到日志中?
查看>>
2015.10.10信息系统项目管理师作业
查看>>
我的友情链接
查看>>