首页 > 其他分享 >144.binary-tree-preorder-traversal 二叉树的前序遍历

144.binary-tree-preorder-traversal 二叉树的前序遍历

时间:2022-08-18 10:22:10浏览次数:51  
标签:node binary res 前序 stk vector 二叉树 push root

前序遍历即中左右,前中后序遍历区别就在于中节点是在前、中还是后。
利用栈实现二叉树的迭代遍历:

#include <stack>
#include <vector>
using std::stack;
using std::vector;
class Solution {
  public:
    vector<int> preorderTraversal(TreeNode *root) {
        stack<TreeNode *> stk;
        vector<int> res;
        if (root == nullptr)
            return res;
        stk.push(root);
        while (!stk.empty()) {
            TreeNode *node = stk.top();
            stk.pop();
            res.push_back(node->val);
            if (node->right != nullptr)
                stk.push(node->right);
            if (node->left != nullptr)
                stk.push(node->left);
        }
        return res;
    }
};

递归法:

class Solution {
public:
    vector<int> res;
    vector<int> preorderTraversal(TreeNode* root) {
        if (root == nullptr)
            return res;
        res.push_back(root->val);
        preorderTraversal(root->left);
        preorderTraversal(root->right);
        return res;
    }
};

标签:node,binary,res,前序,stk,vector,二叉树,push,root
From: https://www.cnblogs.com/zwyyy456/p/16597805.html

相关文章

  • 剑指 Offer 07. 重建二叉树
    剑指Offer07.重建二叉树题目大意输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。......
  • 2022-8-17 剑指offer-二叉树-递归
    剑指OfferII054.所有大于等于节点的值之和难度中等35收藏分享切换为英文接收动态反馈给定一个二叉搜索树,请将它的每个节点的值替换成树中大于或者等于该节点值......
  • binary search tree(bst)
    什么是bst?bst树,通常称为二叉搜索树,又叫二叉排序树,bst是一种特殊的二叉树结构,也是一种常见的数据结构类型,其中,bst很明显的特性是根节点大于左子树的节点小于右子树的节点,......
  • 2022-8-16 剑指offer-二叉树
    剑指OfferII053.二叉搜索树中的中序后继难度中等57收藏分享切换为英文接收动态反馈给定一棵二叉搜索树和其中的一个节点 p ,找到该节点在树中的中序后继。如果......
  • NC16681 [NOIP2003]加分二叉树
    题目链接题目题目描述​设一个n个节点的二叉树tree的中序遍历为(l,2,3,…,n),其中数字1,2,3,…,n为节点编号。每个节点都有一个分数(均为正整数),记第j个节点的分数为di,t......
  • 根据数组构建二叉树
    //"""//给定一个非空列表,一层一层的构建一个二叉树。//例如://input=[5,7,9,2,4,6,3,1,8,10]//我希望返回结果://5(0)///\//......
  • 力扣 101. 对称二叉树
    101.对称二叉树给你一个二叉树的根节点 root ,检查它是否轴对称。示例1:输入:root=[1,2,2,3,4,4,3]输出:true示例2:输入:root=[1,2,2,null,3,null,3]输......
  • 剑指 Offer 07. 重建二叉树
    1.题目:输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 示例1:  Input:pre......
  • 2022-8-14 剑指offer-二叉树递归
    剑指OfferII049.从根节点到叶节点的路径数字之和难度中等34收藏分享切换为英文接收动态反馈给定一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 ......
  • 从二叉树根节点搜索到指定结点的路径
    LC236题,二叉树的最近公共祖先:https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-tree/其中一种解法的关键,是找到从根节点到指定结点的路径。 pu......