给定一个树,按中序遍历重新排列树,使树中最左边的结点现在是树的根,并且每个结点没有左子结点,只有一个右子结点。
直接中序遍历构造一颗新树,这个最简单,注意找到第一个根节点就行了。
TreeNode* increasingBST(TreeNode* root)
{
if (root == nullptr)
return nullptr;
else
{
stack<TreeNode *>temp;
TreeNode* p = root;
bool flag = 0;
TreeNode *new_root;
TreeNode* q;
while (p || !temp.empty())
{
while (p<