One line solutions
\n\nclass Solution:\n    def postorder(self, root: \'Node\') -> List[int]:  \n        return sum((self.postorder(chaild) for chaild in root.children), []) + [ro
\n```\nclass Solution:\n    def postorder(self, root: \'Node\') -> List[int]:  \n        return sum((self.postorder(chaild) for chaild in root.children), []) + [root.val] if root else []\n```\n```\nclass Solution:\n    def postorder(self, root: \'Node\') -> List[int]:  \n        return [next(self.postorder(chaild)) for chaild in root.children] + [root.val] if root else []\n```\n```\nclass Solution:\n    def postorder(self, root: \'Node\') -> List[int]:  \n        return chain(chain.from_iterable(self.postorder(chaild) for chaild in root.children), [root.val]) if root else []\n```\n```\nclass Solution:\n    def postorder(self, root: \'Node\') -> List[int]:\n        return chain(next((self.postorder(chaild)) for chaild in root.children), [root.val]) if root else []\n```\nMore readable\n```\nclass Solution:\n    def postorder(self, root: \'Node\') -> List[int]:\n        if not root:\n            return []\n        path = []\n        for chaild in root.children:\n            path += self.postorder(chaild)\n        path.append(root.val)\n        return path\n```
['Python3']