深度优先
原来二叉树的前序遍历、中序遍历、后序遍历只是return在代码中的位置不同就可以实现了
前序在左右前返回;
中序在左后右前返回;
后序在左右后返回;
使用vector变量ans记录遍历结果。
void preorder(TreeNode* root,vector<int> &ans) {
if (root==nullptr)
return;
else
{
ans.push_back( root->val);
preorder(root->left,ans);
preorder(root->right