剑指offer_24 反转链表
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
简单题
但是却在一些地方出了问题
1 struct ListNode* reverseList(struct ListNode* head){ 2 struct ListNode* pre = NULL; 3 struct ListNode* cur = head; 4 if(head && head->next){ 5 struct ListNode* flag = head->next; 6 while(cur!=pre){ //这个判定条件错了好久遍,画图理解 7 cur->next = pre; 8 pre = cur; 9 cur = flag; 10 if(cur->next) // 主要是如果值不存在的话,c语言不允许这样操作 11 flag = cur->next; 12 } 13 } 14 else return head; 15 16 return cur; 17 }
 
                    
                     
                    
                 
                    
                 
 
                
            
        