zoukankan      html  css  js  c++  java
  • Python3解leetcode Symmetric Tree

    问题描述:

    Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).

    For example, this binary tree [1,2,2,3,4,4,3] is symmetric:

        1
       / 
      2   2
     /  / 
    3  4 4  3
    

    But the following [1,2,2,null,3,null,3] is not:

        1
       / 
      2   2
          
       3    3
    

    Note:
    Bonus points if you could solve it both recursively and iteratively.

    思路:二分类树的问题,可以考虑递归解法

    # Definition for a binary tree node.
    # class TreeNode:
    #     def __init__(self, x):
    #         self.val = x
    #         self.left = None
    #         self.right = None
    
    class Solution:
        def isSymmetric(self, root: TreeNode) -> bool:
            if root == None:
                return True
            def ismirror(root1,root2):
                if root1 == None and root2 ==None:
                    return True
                elif root1 == None or root2 ==None or root1.val != root2.val:
                    return False
                return ismirror(root1.left,root2.right) and ismirror(root1.right,root2.left) 
            
            return ismirror(root.left,root.right)
            
  • 相关阅读:
    js将url转换二维码
    百度地图api使用
    js字符串转日期兼容性
    Object.keys的使用
    Web App和Native App的比较
    数组转为对象
    常用meta整理
    git merge和git rebase的区别
    GitHub 翻译之 'Hello-world' 翻译
    js数据类型
  • 原文地址:https://www.cnblogs.com/xiaohua92/p/11067956.html
Copyright © 2011-2022 走看看