struct TreeNode{ int val; TreeNode* left; TreeNode* right; TreeNode(int x):val(x),left(NULL),right(NULL){}};
前序遍历是按照根节点优先,再同级先左再右
中序遍历是按照先左后根最后右
后序遍历是按照先左后右最后根
如果不知道中序,是没办法推出root中点的位置