搜索
简帛阁>技术文章>[C++]LeetCode144. 二叉树的前序遍历

[C++]LeetCode144. 二叉树的前序遍历

144. 二叉树的前序遍历

题目:给你二叉树的根节点 root ,返回它节点值的 前序 遍历。

示例 1:
输入:root = [1,null,2,3]
输出:[1,2,3]

示例 2:
输入:root = []
输出:[]

示例 3:
输入:root = [1]
输出:[1]

示例 4:
输入:root = [1,2]
输出:[1,2]

class Solution {<!-- -->
public:
    void traversal(TreeNode* cur, vector<int> & result)
    {<!-- -->
        if(cur == nullptr) return;
        result.push_back(cur->val);
        traversal(cur->left,result);
        traversal(cur->right,result);
    }
    vector<int> preorderTraversal(TreeNode* root) {<!-- -->
        vector<int> result;
        traversal(root, result);
        return result;
    }
};

时间复杂度:O(n),其中 n是二叉树的节点数。每一个节点恰好被遍历一次。
空间复杂度:O(n),为递归过程中栈的开销,平均情况下为O(logn),最坏情况下树呈现链状,为 O(n)。
[[C++]Leetcode超高效刷题顺序及题目详解笔记(持续更新中)]

/***Definitionforabinarytreenode*publicclassTreeNode{*publicintval;*publicTreeNodeleft;*publicTreeNo
LeetCode二叉遍历144】题目描述给定一个二叉,返回它遍历。示例:输入:[1,null,2,3]1\2/3输出:[1,2,3]题目分析如果用递归代码的话,很简单,先遍历,就
二叉遍历题目描述:给你二叉根节点root,返回它节点值遍历。示例说明请见LeetCode官网。来源:力扣(LeetCode)链接:https://leetcodecncom/prob
给定一个二叉,返回它遍历。示例:输入:[1,null,2,3]输出:[1,2,3]解题思路1,因为题中要求返回一个存放二叉遍历数组,所以需要知道树中有多少个结点,申请多大数组来存
题目描述给定一个二叉,返回它遍历。示例:输入:[1,null,2,3]1\2/3输出:[1,2,3]题目链接:https://leetcodecncom/problems/binarytree
144二叉遍历知识点:二叉;递归;Morris遍历题目描述给你二叉根节点root,返回它节点值遍历。示例输入:root[1,null,2,3]输出:[1,2,3]输入:root[
文章目录144二叉遍历遍历思路迭代94二叉遍历遍历思路迭代145二叉遍历遍历思路迭代144二叉遍历题目链接:144二叉遍历遍历思路–迭代前序遍历
include<stdioh>typedefstructNode{intval;structNode*Lchild;structNode*Rchild;}*BTree,BTnode;/*创
文用递归算法实现二叉、中和后遍历,提供Java版基本模板,在模板上稍作修改,即可解决LeetCode144BinaryTreePreorderTraversal(二叉树前序遍历),94
144二叉遍历给你二叉根节点root,返回它节点值遍历。简单难度。先访问根节点,再前序遍历左子树,再前序遍历右子树。最简单就是使用递归方式。publicList<Integ