码迷,mamicode.com
首页 > 其他好文 > 详细

2012 找到两个链表共同后缀起始位置

时间:2019-10-20 15:48:01      阅读:75      评论:0      收藏:0      [点我收藏+]

标签:nbsp   link   class   sea   后缀   short   list   null   一个   

思想:假设一个链表比另一个链表长k个节点,我们先在长链表上遍历k个节点,之后同步遍历两个链表

1,遍历两个链表求出他们的长度

2,比较长度,找到较长链表

3,先遍历长链表的k个节点

4,同步遍历两个链表,直到找到相同节点或链表结束

代码:

LinkList search(LinList L1,linkList L2)
{
    int len1=length(L1);len2=lenth(L2);
    LinkList longl,shortl;
    if(len1>len2)
    {
        longl=L1->next;
        shortl=L2->next;
        L=len1-len2;
    }
    else
    {
        longl=L2->next;
        shortl=L1->next;
        L=len2-len1;
    }
    while(L--)
    {
        longl=longl->next;
    }
    while(longl!=NULL)
    {
        if(Longl==shortl)
            return longl;
        else
        {
            longl=longl->next;
            shortl=shortl->next;
        }
    }
    return NULL;
}

 

2012 找到两个链表共同后缀起始位置

标签:nbsp   link   class   sea   后缀   short   list   null   一个   

原文地址:https://www.cnblogs.com/yangmenda/p/11707689.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!