注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号
x
[color=rgba(0, 0, 0, 0.65)]Given two binary trees, write a function to check if they are the same or not. [color=rgba(0, 0, 0, 0.65)]Two binary trees are considered the same if they are structurally identical and the nodes have the same value. [color=rgba(0, 0, 0, 0.65)]Example 1: Input: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3]Output: true[color=rgba(0, 0, 0, 0.65)]Example 2: Input: 1 1 / \ 2 2 [1,2], [1,null,2]Output: false[color=rgba(0, 0, 0, 0.65)]Example 3: Input: 1 1 / \ / \ 2 1 1 2 [1,2,1], [1,1,2]Output: false比较两个树是否相同,包括判断结构和节点的值,同样还是用到递归,加上了空节点的判断可以避免访问空指针# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = None class Solution: def isSameTree(self, p, q): """ :type p: TreeNode :type q: TreeNode :rtype: bool """ if p == None and q ==None: return True if p == None or q == None:#[1,2][1,null,2] return False if p.val == q.val: return self.isSameTree(p.left,q.left) and self.isSameTree(p.right,q.right) else : return False# Definition for a binary tree node.
|