浙大数据结构第二版 习题3.5 求链表的倒数第m个元素 答案错了一点

Posted Zack-Scu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浙大数据结构第二版 习题3.5 求链表的倒数第m个元素 答案错了一点相关的知识,希望对你有一定的参考价值。

 

ElementType Find( List L, int m )  
{  
    List p1 = L; 
    List p2 = L;  
    List pLast = NULL;  
    int c = 0;  
    while (p1) {  
        if (c == m) {  
            p2 = L;  
        }  
        p1 = p1->Next;  
        p2 = p2->Next;  
        pLast = p2;  
        c++;  
    }  
    if (c > m)
        return pLast->Data;  
else return -1; }

  

ElementType Find( List L, int m )  
{  
    List pCurrent = L; 
    List pFind = L;      
    for (int i =0; i<m;i++)
        if (pCurrent)
            pCurrent = pCurrent->Next;
        else
            return -1; 
    while (pCurrent) {
        pFind = pFind->Next;
        pCurrent = pCurrent->Next;
    }
    return pFind->Data;
}

  

以上是关于浙大数据结构第二版 习题3.5 求链表的倒数第m个元素 答案错了一点的主要内容,如果未能解决你的问题,请参考以下文章

PTA 求链表的倒数第m个元素

求链表的倒数最后k个节点

面试题22:链表中倒数第k个节点

程序员代码面试指南第二版 12.打印两个升序链表的公共部分

给定一个链表,删除链表的倒数第 n 个节点(已知该结点存在),并且返回链表的头结点。

算法热门:链表中倒数第k个结点(剑指Offer 22)