AsukaMinato

AsukaMinato

897. Increasing Order Search Tree - Reverse Inorder Traversal + Generator

In-order traversal does not necessarily require left, middle, and right.
This solution also does not require a queue to store, using a stream, everything is natural.

class Solution:
    def increasingBST(self, root: TreeNode) -> TreeNode:
        def gen(root):
            if not root:
                return
            yield from gen(root.right)
            yield root.val
            yield from gen(root.left)
        return reduce(lambda ans, i: TreeNode(i, None, ans), gen(root), None)
'''
        ans = None
        for i in gen(root):
            ans = TreeNode(i, None, ans)
        return ans
'''      

Translation:

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.