中序遍历不一定需要左中右。
这种解法也不需要 queue 来存,用 stream, 一切都很自然。
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
'''