Leetcode-Symmetric Tree(Kotlin)
Post
Cancel

# Leetcode-Symmetric Tree(Kotlin)

## Overview

### What You’ll Learn

Symmetric Tree is an “Easy” tagged Leetcode problem. The problem states “Given the root of a binary tree, check whether it is a mirror of itself (i.e., symmetric around its center).”

First I will show you the problem statement, examples and constraints given.

Also, check out this video tutorial on implementing these solutions:

We can have a queue to check if the root’s left and right children are identical.  These are the steps we can take to arrive at our solution:

• Create a queue and add the root twice to the queue.

• As long as there is a TreeNodes in the queue, we will take two TreeNodes.

• If they are both null, we have arrived at null leaf nodes, so continue.

• Next, if either node is null, we will return false since we already are checking if both are null beforehand. This is similar to the given Example 2

• Lastly, we also need to check if the values are the same. Of course, if the values are not the same, they are not symmetric.

• We will add each of the two current nodes opposite nodes to the queue.

```1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 class Solution { fun isSymmetric(root: TreeNode?): Boolean { val queue = LinkedList<TreeNode?>() queue.offer(root) queue.offer(root) while( queue.isNotEmpty() ){ val one = queue.poll() val two = queue.poll() if(one == null && two == null) continue if(one == null || two == null) return false if(one?.`val` != two?.`val`) return false queue.offer(one.left) queue.offer(two.right) queue.offer(two.left) queue.offer(one.right) } return true } } ```

## Congratulations

Congratulations, we have went through a couple of ways to solve Leetcode - Symmetric Tree (Kotlin)!

Also, check out the video tutorial on implementing these solutions: