[Python 3] DFS iterative solution using stack. Easy to understand.
\nclass Solution:\n    def isSymmetric(self, root):\n        stack = []\n        if root: stack.append([root.left, root.right])\n\n        while(len(stack) > 0)
```\nclass Solution:\n    def isSymmetric(self, root):\n        stack = []\n        if root: stack.append([root.left, root.right])\n\n        while(len(stack) > 0):\n            left, right = stack.pop()\n            \n            if left and right:\n                if left.val != right.val: return False\n                stack.append([left.left, right.right])\n                stack.append([right.left, left.right])\n        \n            elif left or right: return False\n        \n        return True\n```
['Python', 'Python3']