Leetcode 897. 递增顺序查找树
思路
先将中序遍历的结果放到一个数组里,然后新建一棵只有右子树的二叉树。
代码
TreeNode* increasingBST(TreeNode* root) {
vector<int> nums;
inOrder(root,nums);
TreeNode* pre=new TreeNode(-1);
TreeNode* res=pre;
for(int i: nums){
res->right=new TreeNode(i);
res=res->right;
}
return pre->right;
}
void inOrder(TreeNode* root, vector<int>& nums){
if(!root) return;
//中序遍历
inOrder(root->left,nums);
nums.push_back(root->val);
inOrder(root->right,nums);
}