python - 链表数据结构的 NameError
问题描述
这是我编写的代码,我已经将链表初始化head
到actualNode
我想在链表中添加数据的位置。
class Node(object):
def __init__(self,data):
self.data=data
self.nextNode=None
class LinkedList(object):
def __init__(self):
self.head = None
self.size = 0
def remove(self,data):
if self.head is None:
return
self.size=self.size-1
currentNode=self.head
previousNode=None
while currentNode.data!=data:
previousNode=currentNode
currentNode=currentNode.nextNode
if previousNode is None:
self.head=currentNode.nextNode
else:
previousNode.nextNode=currentNode.nextNode
def size1(self):
return self.size
def size2(self):
actualNode=self.head
size=0
while actualNode is not None:
size+=1
actualNode=actualNode.nextNode
return size
def insertend(self,data):
self.size=self.size+1
newNode=Node(data)
actualNode=self.head
while actualNode.nextNode is not None:
actualNode=actualNode.nextNode
actualNode.nextNode=newNode
def traverseList(self):
actualNode=self.head
while actualNode.nextNode is not None:
print("%d" %actualNode.nextNode)
actualNode=actualNode.nextNode
这是我尝试运行代码时遇到的错误,它基本上给出了一个NameError
未定义actualNode
的错误。
Traceback (most recent call last):
File "E:\User\Python\DS ALGO\linkedlist.py", line 6, in <module>
class LinkedList(object):
File "E:\User\Python\DS ALGO\linkedlist.py", line 35, in LinkedList
while actualNode.nextNode is not None:
NameError: name 'actualNode' is not defined
解决方案
你有一些缩进问题:
def insertend(self,data):
self.size=self.size+1
newNode=Node(data)
actualNode=self.head
while actualNode.nextNode is not None:
actualNode=actualNode.nextNode
actualNode.nextNode=newNode
应该:
def insertend(self,data):
self.size=self.size+1
newNode=Node(data)
actualNode=self.head
while actualNode.nextNode is not None:
actualNode=actualNode.nextNode
actualNode.nextNode=newNode
推荐阅读
- c# - SqlBulkCopy 可用于在 C# 中检索数据吗?
- python - 使用 matplotlib 为 SOM 绘制几个极坐标图
- c# - 查找字体风格/样式是否在单独的文件中或由 Windows 生成
- python - 日期时间、时间增量和单独的线图、绘图区域
- unity3d - Blender 到 Unity 的奇怪转换
- java - SoapUI Loop through TestCases and log test case custom property
- javascript - Why the array returning empty spaces
- ios - How to add pagination in UICollectionView in swift?
- python - sorted not taking lambda returning tuple as key argument
- c - 如何将单词保存到动态列表中