二叉树
type TreeNode struct { val int left *TreeNode right *TreeNode } func NewNode(val int) *TreeNode { return &TreeNode{val: val, left: nil, right: nil} }
中序遍历
// 中序遍历
func buildTree(node *TreeNode, ints []int) []int {
if node == nil {
return ints
}
ints = buildTree(node.left, ints)
ints = append(ints, node.val)
ints = buildTree(node.right, ints)
return ints
}
最大深度
//最大深度
func maxDepth(root *TreeNode) int { if root == nil { return 0 } leftDepth := maxDepth(root.left) // 计算左子树的深度 rightDepth := maxDepth(root.right) // 计算右子树的深度 // 返回左右子树深度的较大值,并加上当前节点的深度1 return 1 +