PTAリンクリストデータ構造の共有サフィックスリスト

考慮する必要があります。交差するかどうか、同じ複数の文字を持っていますが、唯一の最後の二つが一般的で、言葉が空にあり、すべて等しいです。

次のように解釈要約オンラインコード:

LEN1> LEN2場合と、まず、第1点P1リンクリストでLEN1-LEN2 + 1つのノードとなるよう、LEN2> LEN1場合は、リンクリストでLEN2-LEN1 + 1つのノード最初の点P2となるよう、そして、LEN1 LEN2を取得ポインタP1とP2は、後退を同期点P1、P2が同じノードになるまでそしてその後、次のいくつかのノードを比較します

 

サフィックスPtrToNode(リストL1と、リストのL2)
{ 
    リストP1およびP2; 
    P1の = LL-> 次に、
    P2は L2-> = 次へと、
     INT LEN1 = 0、LEN2 = 0 ;
     一方(PL)//はリスト1 LEN1の長さを見つけます。
    { 
        LEN1 ++ ; 
        P1の = P1-> 次に; 
    } 
    一方(P2)は                           // 鎖長LEN2 2見つける
    { 
        LEN2 ++ ; 
        P2 = P2-> ;次に
    } 
    ため LEN1> LEN2;(LL = pIをlen1- - )       // LEN1> LEN2場合、リンクされたリスト内の最初の点P1 LEN1-LEN2 + 1つのノードように 
        P1の= P1-> ;次に
     ため(len2--; LEN2> LEN1のP2 = L2)       // 、もしLEN2> LEN1リンクされたリスト内の一次LEN2-LEN1にP2点は、+ 1つのノード   
        P2 = P2-> 次に、
     一方(P1-> P2-次に=>!次へ)
    { 
                                    / * ポインタP1とP1まで後方P2同期移動同じノードへとP2点* / 
        P1の = P1-> ;次に
        P2 = P2-> 次に、
    } 
    戻り > P1-を次へ; 
}

 

おすすめ

転載: www.cnblogs.com/hzy-bwd/p/11565872.html