zoukankan      html  css  js  c++  java
  • Leetcode算法刷题:第100题 Same Tree

    Same Tree

    题目

    给予两棵二叉树,判断这两棵树是否相等(即各节点的值都一样)

    解题思路

    分别遍历两棵二叉树,并用列表分别存储这两棵树的节点的值,比较这两个列表就可以了

    class Solution:
        # @param {TreeNode} p
        # @param {TreeNode} q
        # @return {boolean}
        def isSameTree(self, p, q):
            if (not p) and (not q):
                return True
            if (not p) and q:
                return False
            if (not q) and p:
                return False
            plist = self.pTree(p)
            qlist = self.qTree(q)
            if plist != qlist:
                return False
            return True
        
        def pTree(self, root):
            queue = []
            plist = []
            plist.append(root.val)
            queue.append(root)
            
            while queue:
                root = queue.pop(0)
    
                if root.left:
                    queue.append(root.left)
                    plist.append(root.left.val)
                if not root.left:
                    plist.append('null')
                if root.right:
                    queue.append(root.right)
                    plist.append(root.right.val)
                
                if not root.right:
                    plist.append('null')
    
            return plist
            
        def qTree(self, root):
            queue = []
            qlist = []
            qlist.append(root.val)
            queue.append(root)
            
            while queue:
                root = queue.pop(0)
    
                if root.left:
                    queue.append(root.left)
                    qlist.append(root.left.val)
                if not root.left:
                    qlist.append('null')
                if root.right:
                    queue.append(root.right)
                    qlist.append(root.right.val)
                if not root.right:
                    qlist.append('null')
    
            return qlist
    
  • 相关阅读:
    js对象深拷贝
    数组去重
    css布局之双飞翼布局
    css布局之圣杯布局
    在浏览器中输入URL并回车后都发生了什么?
    浮动和清除浮动
    Javascript 构造函数模式、原型模式
    Javascript之对象组合继承
    js可以随意拖拽的div的实现
    博客美化 之博客的魔方效果
  • 原文地址:https://www.cnblogs.com/eric-nirnava/p/leetcode-100.html
Copyright © 2011-2022 走看看