/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode() {}
* TreeNode(int val) { this.val = val; }
* TreeNode(int val, TreeNode left, TreeNode right) {
* this.val = val;
* this.left = left;
* this.right = right;
* }
* }
*/
class Solution {
public TreeNode ansNode;
public TreeNode increasingBST(TreeNode root) {
//假的头结点
TreeNode dummyNode = new TreeNode(-1);
//ansNode负责去连结点
//dummyNode就还是在头结点的位置
//dummyNode.right就是所要求的
ansNode = dummyNode;
inOrder(root);
return dummyNode.right;
}
public void inOrder(TreeNode root) {
if (root == null)
return ;
//找到一个最小结点
inOrder(root.left);
//头结点的right,连起来
ansNode.right = root;
root.left = null;
ansNode = root;
inOrder(root.right);
}
}
04-25
196
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交