二叉树的递归遍历

前中后序的递归遍历

递归算法的三要素

  1. 确定递归函数的参数和返回值:要确定哪些参数是递归过程中需要处理的,需要处理的就在递归函数里面加上这个参数;然后确定每次返回的递归值是什么;
  2. 确定终止条件:必须写终止条件;如果不写终止条件就会栈溢出;
  3. 确定单层递归的逻辑: 确定每一层递归需要处理的信息。在这里也就会重复调用自己来实现递归的过程。

前序遍历代码

class Solution {
public:
    void traversal(TreeNode* cur, vector<int>& vec) {
        if (cur == NULL) return;
        vec.push_back(cur->val);    // 中
        traversal(cur->left, vec);  // 左
        traversal(cur->right, vec); // 右
    }//中、后序遍历换下顺序;
    vector<int> preorderTraversal(TreeNode* root) {
        vector<int> result;
        traversal(root, result);
        return result;
    }
};
posted @ 2025-09-15 02:03  q_z_chen  阅读(15)  评论(0)    收藏  举报