LeetCode144、145、94

发布于:2024-08-19 ⋅ 阅读:(115) ⋅ 点赞:(0)

144:

Given the root of a binary tree, return the preorder traversal of its nodes' values.

Example 1:

Input: root = [1,null,2,3]
Output: [1,2,3]

Example 2:

Input: root = []
Output: []

Example 3:

Input: root = [1]
Output: [1]

Constraints:

  • The number of nodes in the tree is in the range [0, 100].
  • -100 <= Node.val <= 100

Follow up: Recursive solution is trivial, could you do it iteratively?

前序遍历:

class Solution {
public:
    void travelsal(TreeNode*curr,vector<int>&vec){
        if(curr==NULL)return;
        vec.push_back(curr->val);
        travelsal(curr->left,vec);
        travelsal(curr->right,vec);
    }
    vector<int> preorderTraversal(TreeNode* root) {
        vector<int>result;
        travelsal(root,result);
        return result;
    }
};

中序遍历:

class Solution {
public:
    void travelsal(TreeNode*curr,vector<int>&vec){
        if(curr==NULL)return;
        travelsal(curr->left,vec);
        vec.push_back(curr->val);
        travelsal(curr->right,vec);
    }
    vector<int> inorderTraversal(TreeNode* root) {
        vector<int>result;
        travelsal(root,result);
        return result;
    }
};

后序遍历:

class Solution {
public:
    void travelsal(TreeNode*curr,vector<int>&vec){
        if(curr==NULL)return;
        travelsal(curr->left,vec);
        travelsal(curr->right,vec);
        vec.push_back(curr->val);
    }
    vector<int> postorderTraversal(TreeNode* root) {
        vector<int>result;
        travelsal(root,result);
        return result;
    }
};


网站公告

今日签到

点亮在社区的每一天
去签到