已知一个单向链表的头指针pHead,请找出连续三个结点的数值和最大的值为多少。

 typedef struct _Node {
     int data;
     struct _Node * next;
 } NODE;

int Search3NodeMax(NODE* pHead)//pHead为头结点
{
    Node* p1;
    NODE* p2;
    NODE* p3;
    int max=0; 
    if(NULL == pHead)
        return NULL;
    p1 = pHead->next;
    p2 = p1->next;
    p3 = p2->next
    while(p1 && p2 && p3)
    {
        if(max < (p2->data + p1->data + p3->data))
        {
            max = (p2->data + p1->data + p3->data);
            
        }
        p1 = p1->next;
        p2 = p1->next;
        p3 = p2->next
    }
    return max;
}

猜你喜欢

转载自blog.csdn.net/u014689845/article/details/88207723