Leetcode 1125 Solution
This article provides solution to leetcode question 1125 (design-file-system)
Access this page by simply typing in "lcs 1125" in your browser address bar if you have bunnylol configured.
Leetcode Question Link
https://leetcode.com/problems/design-file-system
Solution
class FileNode:
def __init__(self, name, value=None):
self.name = name
self.value = value
self.children = {}
class FileSystem:
def __init__(self):
self.root = FileNode(None)
def createPath(self, path: str, value: int) -> bool:
node = self.root
tokens = path[1:].split("/")
for i, token in enumerate(tokens):
if i != len(tokens) - 1:
if token not in node.children:
return False
else:
node = node.children[token]
else:
if token in node.children:
return False
else:
node.children[token] = FileNode(token, value)
return True
def get(self, path: str) -> int:
node = self.root
tokens = path[1:].split("/")
for token in tokens:
node = node.children.get(token)
if not node:
return -1
return node.value if node.value is not None else -1
# Your FileSystem object will be instantiated and called as such:
# obj = FileSystem()
# param_1 = obj.createPath(path,value)
# param_2 = obj.get(path)