100. Same Tree Leetcode Python
来源:互联网 发布:微信刷步软件 编辑:程序博客网 时间:2024/06/05 10:11
Given two binary trees, write a function to check if they are equal or not.
Two binary trees are considered equal if they are structurally identical and the nodes have the same value
这道题目考察的是树的比较和遍历。可以采用任何一种遍历方式,只要能保证比较到树中的所有节点.只要有任何一个节点不符合条件就返回false
这里采用Preorder的方法。
We need to traverse the whole tree and compare every value of the two trees. If any of the value is not the same return False
# Definition for a binary tree node# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: # @param p, a tree node # @param q, a tree node # @return a boolean def isSameTree(self, p, q): if q==None and p==None: return True if q and p and p.val==q.val: return self.isSameTree(p.left,q.left) and self.isSameTree(p.right,q.right) return False
这里用非recursive的方法解决,主要思想是用两个stack来maintain node
# Definition for a binary tree node# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: # @param p, a tree node # @param q, a tree node # @return a boolean def isSameTree(self, p, q): if p==None and q==None: return True if p==None and q!=None: return False if p!=None and q==None: return False stack1=[p] stack2=[q] while stack1 and stack2: n1=stack1.pop() n2=stack2.pop() if n1.val==n2.val: if n1.left: stack1.append(n1.left) if n2.left: stack2.append(n2.left) if len(stack1)!=len(stack2): return False if n1.right: stack1.append(n1.right) if n2.right: stack2.append(n2.right) if len(stack1)!=len(stack2): return False else: return False return True
0 0
- 100. Same Tree Leetcode Python
- leetcode 100. Same Tree python
- [leetcode:python]100.Same Tree
- 【Leetcode】【python】Same Tree
- 【LeetCode with Python】 Same Tree
- 【LeetCode】【Python题解】Same Tree
- [LeetCode]100.Same Tree
- LeetCode 100. Same Tree
- 【LeetCode】100.Same Tree
- [Leetcode] 100. Same Tree
- [Leetcode] 100. Same Tree
- LeetCode --- 100. Same Tree
- LeetCode 100. Same Tree
- [leetcode] 100.Same Tree
- leetCode 100. Same Tree
- [LeetCode]100. Same Tree
- 100. Same Tree LeetCode
- LeetCode 100. Same Tree
- Java 实现把异常信息写入到文件中
- RelativeLayout介绍
- java web项目上有红色叉,文件没有报错,怎么解决?
- Boost your productivity: Cripple your technology
- [背包问题][第三阶段-初见dp][HDU-1087]Super Jumping! Jumping! Jumping!
- 100. Same Tree Leetcode Python
- 消息传递函数
- 咨钻锥纂妆族谆卓佐昨作赘字最淄邹资专
- 遵籽姿注自钻谞总状桌赘仔昨租爪籽罪驻
- php-fpm经常出现502解决方法
- 蹂躏D&F数据之XP-NtOpenProcess(虚拟机)
- sql语句百例之Oracle
- 走赘赘篆住准茁赘渍抓住抓琢资族祝左综
- 非常适用的Sourceinsight插件,提高效率事半功倍