主页 > 开源代码  > 

力扣144.二叉树的前序遍历145.二叉树的后序遍历94.二叉树的中序遍历(递归版)

力扣144.二叉树的前序遍历145.二叉树的后序遍历94.二叉树的中序遍历(递归版)

前序遍历

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} * TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {} * }; */ class Solution { public: void getPreorderTraversal(TreeNode* root, vector<int>& result) { if(root == nullptr) return; result.push_back(root->val); getPreorderTraversal(root->left, result); getPreorderTraversal(root->right, result); } vector<int> preorderTraversal(TreeNode* root) { vector<int> result; getPreorderTraversal(root, result); return result; } };

后序遍历

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} * TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {} * }; */ class Solution { public: void getPostorderTraversal(TreeNode* root, vector<int>& result) { if(root == nullptr) return; getPostorderTraversal(root->left, result); getPostorderTraversal(root->right, result); result.push_back(root->val); } vector<int> postorderTraversal(TreeNode* root) { vector<int> result; getPostorderTraversal(root, result); return result; } };

中序遍历

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} * TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {} * }; */ class Solution { public: void getInorderTraversal(TreeNode* root, vector<int>& result) { if(root == nullptr) return; getInorderTraversal(root->left, result); result.push_back(root->val); getInorderTraversal(root->right, result); } vector<int> inorderTraversal(TreeNode* root) { vector<int> result; getInorderTraversal(root, result); return result; } };
标签:

力扣144.二叉树的前序遍历145.二叉树的后序遍历94.二叉树的中序遍历(递归版)由讯客互联开源代码栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“力扣144.二叉树的前序遍历145.二叉树的后序遍历94.二叉树的中序遍历(递归版)