type MyTreeNode struct {
node *tree.Node
}
func (n *MyTreeNode) postOrder() {
if n == nil || n.node == nil {
return
}
left := MyTreeNode{n.node.Left}
left.postOrder()
right := MyTreeNode{n.node.Right}
right.postOrder()
n.node.Print()
}
}
type MyTreeNode struct {
*tree.Node
}
func (n *MyTreeNode) Traverse() {
fmt.Println("This method is shadowed.")
}
func (n *MyTreeNode) postOrder() {
if n == nil || n.Node == nil {
return
}
left := MyTreeNode{n.Left}
left.postOrder()
right := MyTreeNode{n.Right}
right.postOrder()
n.Print()
}
package tree
import "fmt"
type Node struct {
Value int
Left, Right *Node
}
func (t *Node) SetValue(number int) {
if t == nil {
return
}
t.Value = number
}
func createNode(value int) *Node {
return &Node{Value: value}
}
func (t *Node) Print() {
fmt.Println(t.Value)
}
func (t *Node) Traverse() {
if t == nil {
return
}
t.Left.Traverse()
fmt.Println(t.Value)
t.Right.Traverse()
}