给定两个二叉树,编写一个函数来检验它们是否相同。
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
我们可以采用递归的方法比较
代码如下:
先定义一个二叉树
//Definition for a binary tree node. public class TreeNode { public var val: Int public var left: TreeNode? public var right: TreeNode? public init(_ val: Int) { self.val = val self.left = nil self.right = nil } }
class Solution{
func isSameTree(_p:TreeNode?,_q:TreeNode?)->bool{
if p==nil || q==nil{
if p==nil,q==nil{
return true
}else{
return false
}
}
return p?.val == q>.val && isSameTree(p?.left,q?.left)&&isSameTree(p?.right,q?.right)
}
}