题目描述: 输入一个链表,反转链表后,输出新链表的表头。 示例1 输入 {1,2,3} 返回值 {3,2,1} 题解: 用res指针来指向反转后的代码,cur指针用于遍历head链表,然后用temp指针存储cur的下一个节点,以免信息丢失。 即 1->2->3变为1<-2<-3这种形式 三种语言代码: C++: class Solution { public: ListNode* ReverseList(ListNode* pHead) { ListNode *res = NULL; ListNode *cur = pHead; while(cur != NULL){ ListNode *temp = cur->next; cur->next = res; res = cur; cur = temp; } return res; } }; Java: public class Solution { public ListNode ReverseList(ListNode head) { ListNode res = null; ListNode cur = head; while(cur != null){ ListNode temp = cur.next; cur.next = res; res = cur; cur = temp; } return res; } } Python3: class Solution: # 返回ListNode def ReverseList(self, pHead): # write code here res = None cur = pHead while cur != None: temp = cur.next cur.next = res res = cur cur = temp return res