//Student is test struct
type Student struct {
name string
lnode *Student
rnode *Student
}
func deapth(node *Student) (deap int) {
if node == nil {
return 0
} else {
m := deapth(node.lnode)
n := deapth(node.rnode)
if m >= n {
return m + 1
} else {
return n + 1
}
}
}
}
计算二叉树的节点个数,如果指针指向空,返回0,如果指向下一个节点,则返回左节点的个数和右节点的个数再加本身。
func nodenum(node *Student) int {
if node == nil {
return 0
} else {
return nodenum(node.lnode) + nodenum(node.rnode) + 1
}
}