递归:
/** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */ class Solution { public: /** * * @param root TreeNode类 the root of binary tree * @return int整型vector<vector<>> */ vector<int> preVec; vector<int> inVec; vector<int> postVec; vector<vector<int> > vec; void preOrder(TreeNode* root) { if(root) { preVec.push_back(root->val); preOrder(root->left); preOrder(root->right); } } void inOrder(TreeNode* root) { if(root) { inOrder(root->left); inVec.push_back(root->val); inOrder(root->right); } } void postOrder(TreeNode* root) { if(root) { postOrder(root->left); postOrder(root->right); postVec.push_back(root->val); } } vector<vector<int> > threeOrders(TreeNode* root) { preOrder(root); inOrder(root); postOrder(root); vec.push_back(preVec); vec.push_back(inVec); vec.push_back(postVec); return vec; } };