经典算法
class TreeToSequence {
public:
vector<vector<int> > convert(TreeNode* root) {
// write code here
vector<int> front;
vector<int> mid;
vector<int> back;
vector<vector<int> > res;
fronttree(root,front);
res.push_back(front);
midtree(root,mid);
res.push_back(mid);
backtree(root,back);
res.push_back(back);
return res;
}
void fronttree(TreeNode* root,vector<int> &res){
if(root==NULL) return;
res.push_back(root->val);
fronttree(root->left,res);
fronttree(root->right,res);
}
void midtree(TreeNode* root,vector<int> &res){
if(root==NULL) return;
midtree(root->left,res);
res.push_back(root->val);
midtree(root->right,res);
}
void backtree(TreeNode* root,vector<int> &res){
if(root==NULL) return;
backtree(root->left,res);
backtree(root->right,res);
res.push_back(root->val);
}
};