题目描述:输入一个链表,反转链表后,输出链表的所有元素。
思路:定义3
个指针,分别指向当前遍历到的结点、它的前一个结点及后一个结点。
测试用例分析:输入的链表头指针是nullptr,输入的链表只有一个结点,输入的链表有多个结点。
代码:
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 or not pHead.next:
return pHead
ListNode = None
while pHead:
t = pHead.next
pHead.next = ListNode
ListNode = pHead
pHead = t
return ListNode
C/C++版: