- First, the value of the root node is converted into a string, and then the value of the left and right subtree is converted to a string recursively.
- Connecting the root node in 1 to the strings of the left and right nodes is the result, which requires attention:
- If there is a value in the right subtree, Zuozi must be enclosed (), regardless of the value.
- If the right subtree does not have a value, Zuozi is only enclosed when there is a value.
# Definition for a binary tree node.# class TreeNode (object):# def __init__ (self, x):# self.val = x# self.left = None# self.right = NoneclassSolution (Object):defTREE2STR ( Self, T):""": Type T:treenode: Rtype:str """ if notT:return "'Root= Str(T.val) left= Self. TREE2STR (T.left) Right= Self. TREE2STR (T.right)ifRightreturnRoot+ ' (' +Left+ ') (' +Right+ ' ) ' Else:ifLeftreturnRoot+ ' (' +Left+ ' ) ' Else:returnRoot
Python solution leetcode:606 Construct String from Binary Tree