问题描述
输入一个链表,反转链表后,输出新链表的表头。
c++代码
/* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/ class Solution { public: ListNode* ReverseList(ListNode* pHead) { if(pHead == NULL) return pHead; ListNode *cur = pHead, *nxt, *pre = NULL; while(cur != NULL){ nxt = cur->next; cur->next = pre; pre = cur; cur = nxt; } return pre; } };
python代码
# -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: # 返回ListNode def ReverseList(self, pHead): # write code here if not pHead: return pHead cur, pre = pHead, None while cur: nxt = cur.next cur.next = pre pre = cur cur = nxt return pre