题目:
给你二叉树的根节点 root ,返回它节点值的 前序 遍历。
示例:
解题思路:
凡是涉及到树节点遍历的先考虑队列栈这两类数据结构,建议解题直接用双端队列,可以自由选择进出顺序。本题用队列去遍历每一个节点,遍历顺序为根节点-左节点-右节点。
实现逻辑:将当前节点进队列,然后判断左子节点如果不为空就将左子节点进队列,然后一样去判断右子节点。这是循环逻辑,切入点在于要在进入这个循环之前将根节点进入队列中,然后以队列不为空的条件进行迭代。
参考:
本题可以参考leetcode其他题解
Java代码
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode() {}
* TreeNode(int val) { this.val = val; }
* TreeNode(int val, TreeNode left, TreeNode right) {
*