剑指Offer编程题-反转链表
题目:反转链表
题目描述:输入一个链表,反转链表后,输出新链表的表头。
解题思路
遍历链表,开始结点为head,定义一个point变量指向当前要处理的结点,定义一个temp变量保存当前结点,然后当前结点point向前移动point = point.next,temp.next = head结点指向head成为头部,head = temp移动到头部。(结合代码)
实现
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 pHead == None:
return None
pPoint = pHead.next
pHead.next = None
while pPoint:
pTemp = pPoint
pPoint = pPoint.next
pTemp.next = pHead
pHead = pTemp
return pHead