首页 > 代码库 > 华为机试—逆序链表输出

华为机试—逆序链表输出

题目描述:   
将输入的一个单向链表,逆序后输出链表中的值。链表定义如下: 
typedef struct tagListNode 

      int value; 
      struct tagListNode *next; 
}ListNode; 
 
要求实现函数:   
void converse(ListNode **head); 
【输入】head:    链表头节点,空间已经开辟好 
【输出】head:    逆序后的链表头节点
【返回】无 

【注意】只需要完成该函数功能算法,中间不需要有任何IO 的输入输出 


// 返回新链表头节点  
LinkNode *reverse_link(LinkNode *head)  
{  
    if(head == NULL)  
        return NULL;  
    LinkNode *prev , *curr , *reverse_head , *temp;  
    prev = NULL , curr = head;  
    while(curr->next)  
    {  
        temp = curr->next;  
        curr->next = prev;  
        prev = curr;  
        curr = temp;  
    }  
    curr->next = prev;  
    reverse_head = curr;  
    return reverse_head;  
} 


华为机试—逆序链表输出