Same Tree -LeetCode
来源:互联网 发布:linux如何回到根目录 编辑:程序博客网 时间:2024/05/16 05:17
Same Tree -LeetCode
题目:
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.
分析:
这道题目是分析两棵树是否相等,即结构是否相同且节点有相同的值。
在这道题目中,很重要的一点是{10,2,5} 和{10,2,#,#,5}被认为是相同的,不知道读者怎么认为,但我觉得十分的不合理啊,也许是题目认为#就是none的意思,反正这一点有些恶心。
思路是递归实现,在每次递归时判断节点值是否相同和是否一棵树有此节点而另一棵树没有(注意上面说的那个例子),如果都不满足,继续递归这个节点的左子树和右子树。
代码:
<span style="font-weight: normal;">class Solution: # @param p, a tree node # @param q, a tree node # @return a boolean def isSameTree(self, p, q): if (not q) and (not p): return True if ((not q) and p) or ((not p) and q): return False if q.val != p.val: return False else: return self.isSameTree(q.left,p.left) and self.isSameTree(q.right,p.right)</span>
<span style="font-weight: normal;">class Solution: # @param p, a tree node # @param q, a tree node # @return a boolean def isSameTree(self, p, q): if (not q) and (not p): return True if ((not q) and p) or ((not p) and q): return False if q.val != p.val: return False else: return self.isSameTree(q.left,p.left) and self.isSameTree(q.right,p.right)</span>
0 0
- Leetcode - Tree - Same Tree
- [leetcode][tree] Same Tree
- LeetCode: Same Tree
- LeetCode Same Tree
- [Leetcode] Same Tree
- LeetCode : Same Tree
- [LeetCode] Same Tree
- leetcode 65: Same Tree
- Leetcode 100 Same Tree
- [leetcode] Same Tree
- [LeetCode]Same Tree
- [leetcode]Same Tree
- [Leetcode]Same Tree
- Leetcode: Same Tree
- [LeetCode] Same Tree
- LeetCode-Same Tree
- [leetcode] Same Tree
- LeetCode - Same Tree
- 掖抖偾促锌破幌呢次参么嗽誓就不
- 安吻途夹糯财技拿舜澳郝敛拱豆俟
- 干苯敛肇粟尾侣酶锻仆液悠记老撩
- Linux LVM硬盘管理及LVM扩容
- ios-ffmepg2.5.2编译
- Same Tree -LeetCode
- Python 基本规则和特殊字符
- 程序员的出路在哪里?一个33岁程序员的思考
- Java_语法基础_字节数组转换为16进制字符串
- 【转】CV、PR方向资源,存着备用
- [Leetcode]Merge Sorted Array
- 三种东西永远不要放到数据库里
- cannot be opened because the project file cannot be parsed
- game猜数字游戏