Flatten a Linked List (LC-0114)

class Solution:
    def flatten(self, root):
        def rec(node):
            if not node:
                return
            temp = node.right
            node.right = rec(node.left)
            t = node
            while t and t.right: 
                t = t.right
            t.right = rec(temp)
            node.left = None
            return node
        
        rec(root)