前序遍历
/*** 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;}
};