Clean and Easy Recursive and Iterative solutions
Recursive\n\n\nvar isSymmetric = function(root) {\n    \n    const helper = (node1, node2) => {\n        if(node1 === null && node2 === null)\n            retur
**Recursive**\n\n```\nvar isSymmetric = function(root) {\n    \n    const helper = (node1, node2) => {\n        if(node1 === null && node2 === null)\n            return true;\n        \n        if(node1 === null || node2 === null)\n            return false;\n        \n        if(node1.val === node2.val) {\n            return helper(node1.left, node2.right) && helper(node1.right, node2.left);\n        } else {\n            return false;\n        }\n    }\n    \n    return helper(root.left, root.right);\n};\n```\n\n**Iterative**\n\n```\nvar isSymmetric = function(root) {\n    \n    const arr = [];\n    \n    arr.push([root.left, root.right]);\n    \n    while(arr.length) {\n        let [node1, node2] = arr.pop();\n        \n        if(node1 === null && node2 === null)\n            continue;\n        \n        if(node1 === null || node2 === null)\n            return false;\n        \n        if(node1.val === node2.val) {\n            arr.push([node1.left, node2.right]);\n            arr.push([node1.right, node2.left]);\n        } else {\n            return false;\n        }\n    }\n    \n    return true;\n};\n```
['Recursion', 'Iterator', 'JavaScript']