class TreeNode:
def __init__(self,val,left=None,right=None):
self.val=val;
self.left=left;
self.right=right;
b=TreeNode('b');
c=TreeNode('c');
d=TreeNode('d');
e=TreeNode('e');
a=TreeNode('a',b,c);
# b.right=d;
# c.left=e;
b=TreeNode('b',None,d);
c=TreeNode('c',e,None);
このコードeとdのサブツリーは確立できません。bとcは以前に定義されていたためです。つまり、サブノードがなく、b = TreeNode( 'b'、None、d)は後で定義されています。ツリーを挿入する方法が書かれていない限り。
へ
d=TreeNode('d');
e=TreeNode('e');
b=TreeNode('b',None,d);
c=TreeNode('c',e,None);
a=TreeNode('a',b,c);
このようにして、子ノードからの定義が間違ってしまうことはありません。ここは不注意です