LeetCode 897. 递增顺序搜索树

文章目录


题目

给你一棵二叉搜索树的 root ,请你 按中序遍历 将其重新排列为一棵递增顺序搜索树,使树中最左边的节点成为树的根节点,并且每个节点没有左子节点,只有一个右子节点。
在这里插入图片描述

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/increasing-order-search-tree
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。


中序遍历模拟

在这里插入图片描述

class Solution {
    
    
    public TreeNode increasingBST(TreeNode root) {
    
    
        List<Integer> list=new ArrayList<>();
        fun(root,list);        
        TreeNode head=new TreeNode();
        TreeNode end=head;
        for(int i=0;i<list.size();++i){
    
    
            head.val=list.get(i);
            if(i!=list.size()-1){
    
    
                head.right=new TreeNode();
                head=head.right;
            }
        }
        return end;
    }
        public static void fun(TreeNode root,List<Integer> list){
    
    

        if(root!=null){
    
    
            if(root.left!=null)
                fun(root.left,list);
            list.add(root.val);
            if(root.right!=null)
                fun(root.right,list);
        }

    }

}

猜你喜欢

转载自blog.csdn.net/qq_44627608/article/details/124736165