> For the complete documentation index, see [llms.txt](https://llssff.gitbook.io/coding-problems/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://llssff.gitbook.io/coding-problems/tree-traversal/symmetric-tree.md).

# Symmetric Tree?

Check if given tree is symmetrical

**Solution:** Bottom up recursion

**Base Case:**

1. Both null return true
2. One null return false
3. Left key != right key return false

**Implementation:**

```
public boolean isSymmetricHelper(TreeNode left, TreeNode right){
    if (left == null && right == null) return true;
    else if (left == null || right == null) return false;
    else if(left.key != right.key) return false;

    return isSymmetricHelper(left.left, right.right) && isSymmetricHelper(left.right, right.left);
  }
```

**Time Comp:** O(N) Every node visited

**Space Comp:** O(Height) max stack size
