二叉搜索树的左节点都小于根节点,右节点都大于根节点。递归函数就可以采用中序遍历的样子,先写左子树的递归函数,然后写功能处理部分,然后写右子树的递归函数。
备注:二叉搜索树的遍历还不是很熟,还需要再练习
/**
public class TreeNode {
int val = 0;
TreeNode left = null;
TreeNode right = null;
public TreeNode(int val) {
this.val = val;
}
}
*/
public class Solution {
TreeNode temp=null;
TreeNode res=null;
public TreeNode Convert(TreeNode pRootOfTree) {
convert(pRootOfTree);
return res;
}
public void convert(TreeNode pRootOfTree){
if(pRootOfTree==null)
return;
convert(pRootOfTree.left);
if(temp==null){
temp=pRootOfTree;
res=pRootOfTree;
}
else{
temp.right=pRootOfTree;
pRootOfTree.left=temp;
temp=pRootOfTree;
}
convert(pRootOfTree.right);
}
}