分析:
1:如果当前节点有两个孩子,那么在两个孩子的结果外都要加括号;
2:如果没有孩子,则不需要加括号;
3:只有左孩子,只需要给左孩子的结果加上括号;
4:只有右孩子,则需要先加上一个括号表示左孩子为空。
def tree2str(self,t:TreeNode)->str:
if t==None:
return " "
l=r=" "
if t.left is not None and t.right is not None:
l="("+self.tree2str(t.left)+")"
if t.right is not None:
r="("+self.tree2str(t.right)+")"
return str(t.val)+l+r