Skip to content

Latest commit

 

History

History
62 lines (46 loc) · 1.08 KB

File metadata and controls

62 lines (46 loc) · 1.08 KB
  1. Symmetric Tree

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

Clarification:

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

Solution:

  • Recursive

code:

  • java

    • Code
      class Solution {
          public boolean isSymmetric(TreeNode root) {
              if(root==null){
                  return true;
              }
              return isSymmetricHelp(root.left, root.right);
          }
      
          private boolean isSymmetricHelp(TreeNode left, TreeNode right){
              if(left==null || right==null){
                  return left==right;
              }
              if(left.val!=right.val){
                  return false;
              }
              return isSymmetricHelp(left.left, right.right) && isSymmetricHelp(left.right, right.left);
          }
      }
  • python

    class Solution: