首页 > 其他 > 详细

b_pat_分享(链表模拟)

时间:2020-09-24 22:05:22      阅读:58      评论:0      收藏:0      [点我收藏+]

技术分享图片

思路
照常输入,然后先遍历第一个链表,且将第一个链表的结点都的属性设置为访问过vis=true;再从第二条链表的开头开始遍历,遇到第一个vis=true的结点node则输出node.val,返回

#include<bits/stdc++.h>
using namespace std;
const int N=1e6+5;
struct node {
    int next=-1, vis;
} A[N];
int main() {
    std::ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
    int s1,s2,n,addr,next;; cin>>s1>>s2>>n;
    char val;

    for (int i=0; i<n; i++) {
        cin>>addr>>val>>next;
        A[addr]={next, false};
    }
    for (int i=s1; i!=-1; i=A[i].next) A[i].vis=1;
    for (int i=s2; i!=-1; i=A[i].next) if (A[i].vis) {
        return printf("%05d", i), 0;
    }
    printf("-1");
    return 0;
}

b_pat_分享(链表模拟)

原文:https://www.cnblogs.com/wdt1/p/13726800.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!