Leetcode 536 Solution
This article provides solution to leetcode question 536 (construct-binary-tree-from-string)
Access this page by simply typing in "lcs 536" in your browser address bar if you have bunnylol configured.
Leetcode Question Link
https://leetcode.com/problems/construct-binary-tree-from-string
Solution
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def str2tree(self, s: str) -> Optional[TreeNode]:
i = 0
def construct():
nonlocal i
if i == len(s):
return None
val_str = ""
while i < len(s) and s[i] != '(' and s[i] != ')':
val_str += s[i]
i += 1
node = TreeNode(val_str)
if i < len(s) and s[i] == '(':
i += 1
node.left = construct()
i += 1
if i < len(s) and s[i] == '(':
i += 1
node.right = construct()
i += 1
return node
return construct()