数据结构求解析QAQ

算法设计:带头结点的单链表L,结点数据域data为int型变量,结点指针域next保存后继结点地址。该单链表表长大于0,且表中
各结点数据域为互不相同的整型变量。试找出各结点数据域的最大值并返回,函数原型如下,加入简要的注释或说明。
int work(LinkList L)


int work(LinkList L)
{
    if(L->next == NULL)//若是空表直接结束
        return NULL;
    pmax = L->next;        //假设第一个结点中数据为最大值
    p = L->next->next;
    while (p)
    {//如果下一个结点存在
        if (p->data > pmax->data)
            pmax = p;//如果p的值大于pmax的值,则重新赋值
        p = p->next;
    }
    return pmax->data;
}