Branch-Swappable Binary Trees

You are given the roots of two binary trees, root1 and root2. Each node holds an integer value and may have a left child and a right child.

At any node you may perform a swap operation that exchanges its left and right subtrees. You may apply this operation at any number of nodes, in any order, and any node may be swapped at most once conceptually (swapping twice cancels out).

Two trees are considered branch-swappable equivalent when one can be transformed to match the other exactly in both structure and values by performing zero or more such swaps.

Return true if the two trees are branch-swappable equivalent, otherwise return false.

In other words, the trees are equivalent when for every node the left and right children may be considered unordered.

Examples
Input: [[1,2,3],[1,3,2]]
Output: true
Hints

Branch-Swappable Binary Trees

You are given the roots of two binary trees, `root1` and `root2`. Each node holds an integer value and may have a left child and a right child.