笔记day14"/>
刷题笔记day14
前序遍历
前序遍历的方式是:根节点、左节点、右节点。
/*** Definition for a binary tree node.* type TreeNode struct {* Val int* Left *TreeNode* Right *TreeNode* }*/
import "container/list"func preorderTraversal(root *TreeNode) []int {// 思路1:使用递归的方法。三要素:返回条件和参数,单层的逻辑。// 思路2:层次遍历:使用栈。根左右result := []int{}if root == nil {return result}stack := list.New()stack.PushBack(root)for stack.Len() != 0 {top := stack.Remove(stack.Back())node := top.(*TreeNode)result = append(result, node.Val)if node.Right != nil {stack.PushBack(node.Right)}if node.Left != nil {stack.PushBack(node.Left)}}return result
}
中序遍历
更多推荐
刷题笔记day14
发布评论