利用快慢指针快速得到链表中间节点

//利用快慢指针快速得到链表中间节点
int getMiddleNodeValue(LIST * l) {
    NODE * search, * middle;
    
    search = l->head;
    middle = l->head;

    while (NULL != search->next) {
        if (NULL != search->next->next) {
            search = search->next -> next;
            middle = middle->next;
        }
        else{
            search = search->next;
        }
    }

    return middle->i;

}

 

posted on 2015-05-18 11:57  c3tc3tc3t  阅读(309)  评论(0编辑  收藏  举报