描述 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。
数据范围:二叉树的节点数量满足 1≤n≤100
1≤n≤100 ,二叉树节点的值满足 1≤val≤100
1≤val≤100 ,树的各节点的值各不相同 示例 1:
示例1 输入: {1,#,2,3} 返回值: [1,2,3]
c++/**
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
* };
*/
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param root TreeNode类
* @return int整型vector
*/
void preorder(vector<int>&res,TreeNode* root){
if(root==NULL){
return;
}
res.push_back(root->val);
preorder(res, root->left);
preorder(res,root->right);
}
vector<int> preorderTraversal(TreeNode* root) {
// write code here
vector<int>res;
preorder(res, root);
return res;
}
};
c++/**
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
* };
*/
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param root TreeNode类
* @return int整型vector
*/
void inorder(vector<int>&res,TreeNode* root){
if(root==NULL){
return;
}
inorder(res, root->left);
res.push_back(root->val);
inorder(res, root->right);
}
vector<int> inorderTraversal(TreeNode* root) {
// write code here
vector<int>res;
inorder(res, root);
return res;
}
};
c++/**
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
* };
*/
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param root TreeNode类
* @return int整型vector
*/
void postorder(vector<int>&res,TreeNode *root){
if(root==NULL){
return;
}
postorder(res, root->left);
postorder(res, root->right);
res.push_back(root->val);
}
vector<int> postorderTraversal(TreeNode* root) {
// write code here
vector<int>res;
postorder(res,root);
return res;
}
};
本文作者:墨洺的文档
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!