杂谈算法二叉树路径

二叉树路径

今天我们来聊聊二叉树,二叉树是一种非常常见的数据结构了,也是很基础的数据结构。遇见树的结构,我们已经可以形成思维惯性,那就是用递归。递归二叉树一共有三种方式,分别为前序中序和后序。前序即先走根结点 ---> 左子树 ---> 右子树,中序为左子树---> 根结点 ---> 右子树,后序为左子树 ---> 右子树 ---> 根结点。这么说可能听不太懂。 1720349166770 以下图为例 前序遍历为1->2->5->3 中序为1->2->3->5 后序为5->2->3->1 了解了这个之后我们就可以来看看下面这道题了。 1720349374142

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

好了,结束了,二叉树的遍历就是这么简单!

For Paul

这是一个个人博客,主要用于记录自己的学习过程,用于ts和rust的技术交流

© 2025 Paul Blog • Made withby Paul

使用 Next Rust 和 Tailwind CSS 构建

最近更新时间: 2025-04-29