白日放歌须纵酒,青春作伴好还乡。这篇文章主要讲述79 - 反转单向链表相关的知识,希望能为你提供帮助。
有一个单向链表,请编写一个函数,将这个单向链表反转,并返回反转后的头节点
class LinkedNode:
def __init__(self, x):
self.val = x
self.next = None
def reverseLinked(header):
if not header or not header.next:
return header
pre = None# 前一个节点
curNode = header# 当前节点
while curNode:
tmp = curNode.next# 临时保存下一个节点
curNode.next = pre# 将前一个节点赋给当前节点的next
pre = curNode
curNode = tmp
return pre
header = LinkedNode(0)
node1 = LinkedNode(1)
header.next = node1
node2 = LinkedNode(2)
node1.next = node2
node3 = LinkedNode(3)
node2.next = node3
def printLinked(header):
p = header
while p:
print(p.val, end= )
p = p.next
print()
printLinked(header)
header = reverseLinked(header)
printLinked(header)
0 1 2 3
3 2 1 0
??80 - 抓取豆瓣音乐排行榜??
【79 - 反转单向链表】
推荐阅读
- 防火墙基础之外网服务器区部署和双机热备
- CSS 基于文字的图片马赛克你见过吗
- 83 - 找到第n个丑数
- Spring从入门到精通—Bean标签详解
- Vmware 显示权限不足(每次右键管理员运行太麻烦?一招教你解决!)
- Python标准库之os库常用功能详解
- 成功解决( git add . 不生效不报错,commit 报错 “did not match any file(s) known to git”)
- 分治(详解残缺棋盘 —— Java代码实现)
- 计算机性能测试