144. 二叉树的前序遍历
给你二叉树的根节点 root
,返回它节点值的 前序 遍历。
示例 1:
1 | 输入:root = [1,null,2,3] |
示例 2:
1 | 输入:root = [] |
示例 3:
1 | 输入:root = [1] |
示例 4:
1 | 输入:root = [1,2] |
示例 5:
1 | 输入:root = [1,null,2] |
提示:
- 树中节点数目在范围
[0, 100]
内 -100 <= Node.val <= 100
进阶:递归算法很简单,你可以通过迭代算法完成吗?
题解:
递归法:
1 | public List<Integer> preorderTraversal(TreeNode root) { |
迭代法:
借助栈这个数据结构,每次先将根节点入栈,处理完根节点,然后将其右孩子入栈,再将左孩子入栈,这样的出栈序列才是根左右
1 | public List<Integer> preorderTraversal(TreeNode root) { |