递归遍历
func DpreorderTraversal(root *TreeNode)(res []int){
var traseval func(node *TreeNode)
traseval = func(node *TreeNode) {
if node == nil{
return
}
res = append(res,node.Val)
traseval(node.Right)
traseval(node.Left)
}
traseval(root)
return res
}
func DinorderTraversal(root *TreeNode)(res []int){
var traseval func(node *TreeNode)
traseval = func(node *TreeNode) {
if node ==nil{
return
}
traseval(node.Left)
res = append(res, node.Val)
traseval(node.Right)
}
traseval(root)
return res
}
func DpostorderTraversal(root *TreeNode)(res []int){
var traseval func(node *TreeNode)
traseval = func(node *TreeNode) {
if node ==nil{
return
}
traseval(node.Left)
traseval(node.Right)
res = append(res, node.Val)
}
traseval(root)
return res
}