Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class TreeNode(object):
- def __init__(self):
- self.subnodes = []
- self.parent = None
- def addNode(self, node):
- self.subnodes.append(node)
- node.parent = self
- def insertNode(self, index, node):
- self.subnodes.insert(index, node)
- node.parent = self
- def removeNode(self, node):
- self.subnodes.remove(node)
- node.parent = None
- def removeNodeRecursively(self, node):
- try:
- self.subnodes.remove(node)
- node.parent = None
- return True
- except ValueError:
- for node in self.subnodes:
- if node.removeNodeRecursively(node):
- return True
- return False
- def getNode(self, index):
- return self.subnodes[index]
- def setNodes(self, subnodes):
- for node in subnodes:
- node.parent = self
- self.subnodes = list(subnodes)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement