【LeetCode】 101. Symmetric Tree 解答・解説【Python】

この記事は約2分で読めます。

 

問題

原文

Given the root of a binary tree, check whether it is a mirror of itself (i.e., symmetric around its center).

 

Example 1:

Input: root = [1,2,2,3,4,4,3]

Output: true

Example 2:

Input: root = [1,2,2,null,3,null,3]

Output: false

 

Constraints:

  • The number of nodes in the tree is in the range [1, 1000].
  • -100 <= Node.val <= 100

 

Follow up: Could you solve it both recursively and iteratively?

内容

二分木であるrootが与えられます。左右対称(根ノードを中心に対称であるか)になっているかを確認してください。

制約

・ノードの数は1~1000

・各ノードの値は-100~100

 

再帰と反復のそれぞれで解いてみてください。

 

※正しくない可能性があります。

 

方針

反復で解答する際はキューを用いています。

解答

解答1 反復➀

 

 

解答2 反復②

 

 

解答3 再帰

これは頑張って後日解答したいと思います。

補足・参考・感想

前回の問題と似ていますね。まだ一回目なのでまずは中身を理解することに重点を置いています。

今後、繰り返し解いていく中でまずはミスなくコーディングできること。面接を意識していくつかの解法とその比較を日本語で説明できること。最後に英語でそれらをホワイトボードに書きながら実行すること。と言った具体に少しずつステップアップしていきたいと思いました。

 

前:100. Same Tree

次:108. Convert Sorted Array to Binary Search Tree

LeetCode 解答・解説記事一覧

コメント