1032. Sharing (25)
2017-08-03 08:54
274 查看
题目链接:https://www.patest.cn/contests/pat-a-practise/1032
题目大意:找出两个链表相汇处的结点
解题思路:
先遍历第一个链表,将其中所有节点标记为已访问
再遍历第二个链表,在遍历过程中找到的第一个已访问的结点即为所求
注意:想要通过判断next域中出现两次的结点是不可行的,因为测试用例中有些输入重复出现了多次来防止这种”小聪明”的方法
代码如下:
题目大意:找出两个链表相汇处的结点
解题思路:
先遍历第一个链表,将其中所有节点标记为已访问
再遍历第二个链表,在遍历过程中找到的第一个已访问的结点即为所求
注意:想要通过判断next域中出现两次的结点是不可行的,因为测试用例中有些输入重复出现了多次来防止这种”小聪明”的方法
代码如下:
#include <iostream> #include <cstdio> using namespace std; int ne[100001]={0}; int main(){ int p1,p2,n; scanf("%d%d%d",&p1,&p2,&n); int adr,nxt; char data; for(int i=0;i<n;i++){ scanf("%d %c %d",&adr,&data,&nxt); ne[adr]=nxt; } int i=p1,j=p2,flag[100001]={0}; if(p1==p2){ printf("%05d\n",j); return 0; } while(i!=-1){ flag[i]=1; i=ne[i]; } while(j!=-1){ if(flag[j]==1){ printf("%05d\n",j); return 0; } j=ne[j]; } cout<<"-1"<<endl; return 0; }
相关文章推荐
- PAT 1032. Sharing (25)(求俩个字符串的交点)
- 1032. Sharing (25)
- PAT 1032. Sharing (25)
- 1032. Sharing (25)
- 1032. Sharing (25)
- PAT - 甲级 - 1032. Sharing (25)(链表)
- PAT 1032. Sharing (25)
- 1032. Sharing (25)-PAT
- 1032. Sharing (25)
- PAT_A 1032.Sharing(25)==未完待续
- PAT 1032. Sharing (25)
- 1032. Sharing (25)
- 1032. Sharing (25)
- Python实现Pat 1032. Sharing (25)
- 【PAT Advanced Level】1032. Sharing (25)
- 1032. Sharing (25)
- 1032. Sharing (25)
- 1032. Sharing (25)
- 1032. Sharing (25)
- 【PAT甲级】1032. Sharing (25)