/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ struct ListNode* reverseList(struct ListNode* head) { struct ListNode *back; struct ListNode *fore; if(head==NULL || head->next==NULL) { ; //如果链表只有一个节点或者为空链,不进行任何操作 } else { back = head; fore = back->next; while(back->next != NULL) { back->next = fore->next; fore->next = head; head = fore; fore = back->next; } } return head; }