二叉搜索书 -- 二叉排序树
参考 leetcode_discuss
代码
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
//二叉搜索数 二叉排序树 左小右大
struct TreeNode* convertBST(struct TreeNode* root) {
int pre = 0;
travel(root,&pre);
return root;
}
int travel(struct TreeNode* T,int* pre){
if(T==NULL){
return 0;
}
int right = travel(T->right,pre);
T->val+=*pre;
*pre=T->val;
travel(T->left,pre);
return T->val;
}