package golangleetcode import ( "fmt" "testing" ) type Number interface { int | float32 | float64 } type Node[T Number] struct { Val T LeftNode *Node[T] RightNode *Node[T] } func (node *Node[T]) Left() *Node[T] { return node.LeftNode } func (node *Node[T]) Right() *Node[T] { return node.RightNode } func (selfNode *Node[T]) AddNode(node *Node[T]) { if selfNode.Val > node.Val { if selfNode.LeftNod..