144.二叉树的前序遍历

https://leetcode-cn.com/problems/binary-tree-preorder-traversal/
这道题的目的是让我们输出二叉树的前序遍历
前序遍历,即根据 中 左 右 的顺序输出二叉树的结点

class Solution {
public:
    vector<int> preorderTraversal(TreeNode* root) {
        stack<TreeNode*>st;//创建一个栈来遍历二叉树
        vector<int>result;//存储前序遍历
        st.push(root);
        while(!st.empty())
        {
            TreeNode*node=st.top();//从中节点开始遍历
            st.pop();
            if(node!=nullptr)result.push_back(node->val);//将当前的值输入队列
            else continue;//如果为空,即无下一级,则返回上一级
            st.push(node->right);//先输入右子树,这样输出是就是 中 左 右了
            st.push(node->left);
        }
        return result;
    }
};
上一篇:Vue


下一篇:python day 20 自动轨迹绘制