Very short and clean DFS solution (Java and C#)


  • 0

    Java:

        public TreeNode trimBST(TreeNode root, int L, int R) 
        {
            if (root == null) return null;
    
            if (root.val < L)
                return trimBST(root.right, L, R);
            if (root.val > R)
                return trimBST(root.left, L, R);
    
            root.left = trimBST(root.left, L, R);
            root.right = trimBST(root.right, L, R);
    
            return root;        
        }
    

    C#:

        public TreeNode TrimBST(TreeNode root, int L, int R)
        {
            if (root == null) return null;
    
            if (root.val < L)
                return TrimBST(root.right, L, R);
            if (root.val > R)
                return TrimBST(root.left, L, R);
    
            root.left = TrimBST(root.left, L, R);
            root.right = TrimBST(root.right, L, R);
    
            return root;
        }   
    

Log in to reply
 

Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.