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
    
  • 相关阅读:
    第二次结对编程作业
    5 线性回归算法
    4 K均值算法--应用
    3 K均值算法
    2 机器学习相关数学基础
    1 机器学习概述
    15. 语法制导的语义翻译
    14.算符优先分析
    13.自下而上语法分析
    12.实验二 递归下降语法分析
  • 原文地址:https://www.cnblogs.com/eric-nirnava/p/leetcode-100.html
Copyright © 2011-2022 走看看