leetcode: 100. Same Tree
来源:互联网 发布:键盘记录软件手机 编辑:程序博客网 时间:2024/06/01 14:50
Q
Given two binary trees, write a function to check if they are the same or not.
Two binary trees are considered the same if they are structurally identical and the nodes have the same value.
Example 1:
Input: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3]Output: true
Example 2:
Input: 1 1 / \ 2 2 [1,2], [1,null,2]Output: false
Example 3:
Input: 1 1 / \ / \ 2 1 1 2 [1,2,1], [1,1,2]Output: false
AC
# Definition for a binary tree node.class TreeNode(object): def __init__(self, x): self.val = x self.left = None self.right = Noneclass Solution(object): def isSameTree(self, p, q): """ :type p: TreeNode :type q: TreeNode :rtype: bool """ stack = [(p, q)] while stack: node1, node2 = stack.pop() if not node1 and not node2: continue if None in (node1, node2) or node1.val != node2.val: return False if node1.val == node2.val: stack.append((node1.left, node2.left)) stack.append((node1.right, node2.right)) return True# Time: O(n)# Space: O(h), h is height of binary tree# Definition for a binary tree nodeclass TreeNode: def __init__(self, x): self.val = x self.left = None self.right = Noneclass Solution2(object): def isSameTree(self, p, q): if p is None and q is None: return True if p is not None and q is not None: return p.val == q.val and self.isSameTree(p.left, q.left) and self.isSameTree(p.right, q.right) return Falseif __name__ == "__main__": root1, root1.left, root1.right = TreeNode(1), TreeNode(2), TreeNode(3) root2, root2.left, root2.right = TreeNode(1), TreeNode(2), TreeNode(3) assert Solution().isSameTree(root1, root2) == True
阅读全文
0 0
- [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
- LeetCode 100. Same Tree
- [LeetCode]100. Same Tree
- 【LeetCode】100. Same Tree
- leetcode 100. Same Tree
- leetcode 100. Same Tree
- 【Leetcode】100. Same Tree
- springcloud(十):服务网关zuul
- 学习CMake,先保存下
- 进阶丨如何让你的数据分析更加简洁专业
- 获取到HTML里面的值
- 腾讯2017秋招笔试编程题:游戏任务标记 [python]
- leetcode: 100. Same Tree
- 桑基图(sankey)的绘制
- NorFlash、NandFlash、eMMC比较区别
- Dubbo-容错机制
- 使用容器部署静态(HTML)网站
- 波段与趋势
- 2017第十八届成都家具展 (中国西部国际博览城)会刊(参展商名录)
- 中小型互联网公司微服务实践-经验和教训
- Chrome对开发有用的插件