【牛客刷题-剑指Offer】BM23 二叉树的前序遍历:递归与迭代双解法
文章目录
- 一、题目描述
-
- 1.1 什么是前序遍历?
- 1.2 题目要求
- 二、解题思路
-
- 2.1 方法一:递归解法(推荐使用)
-
- 2.1.1 递归思想
- 2.1.2 前序遍历的递归思路
- 2.1.3 具体步骤
- 2.1.4 递归过程图解
- 2.2 方法二:非递归解法(栈模拟)
-
- 2.2.1 栈的思想
- 2.2.2 迭代思路
- 2.2.3 具体步骤
- 2.2.3 迭代过程图解
- 三、代码实现
- 四、 算法复杂度分析
-
- 递归解法(solution1)
- 迭代解法(solution2)
- 五、关键点总结
- 六、总结
一、题目描述
1.1 什么是前序遍历?
想象一下,你正在参观一个家族树:
-
先拜访爷爷(根节点)
-
然后拜访爸爸(左子树)
-
最后拜访叔叔(右子树)
这就是前序遍历的精髓:根节点 → 左子树 → 右子树
1.2 题目要求
给你二叉树的根节点 root ,返回它节点值的前序遍历。
数据范围:
- 二叉树的节点数量满足 1 ≤ n ≤ 100 1≤n≤100 1<
