题解 | #反转链表#

反转链表

http://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca

-- 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 is None:
return pHead
if pHead.next is None:
return pHead
#保存三个节点:当前节点,当前节点的前节点,当前节点的下一个节点
#初始化的时候当前节点是头节点,前节点为None,下一个节点为头节点的下一个节点
preNode = None
tempNode = pHead
nextNode = pHead.next
# 当下一个节点为空停止循环
while(nextNode is not None):
# 核心逻辑:保存当前节点的下一个节点,改变当前节点的next为pre节点,将pre节点改为当前节点,将当前节点改成nextNode
nextNode = tempNode.next
tempNode.next = preNode
preNode = tempNode
tempNode = nextNode
return preNode

全部评论

相关推荐

昨天 22:08
佛山大学 Java
点赞 评论 收藏
分享
孙艹肘:校招不给三方直接让实习我都去了,,主打一个在学校呆着也是闲着,不如出来实习一下
点赞 评论 收藏
分享
10-21 00:37
已编辑
门头沟学院 C++
小浪_Coding:你问别人,本来就是有求于人,别人肯定没有义务免费回答你丫, 有点流量每天私信可能都十几,几十条的,大家都有工作和自己的事情, 付费也是正常的, 就像你请别人搭把手, 总得给人家买瓶水喝吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务