给定两个二叉树,编写一个函数来检验它们是否相同。
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
我们可以采用递归的方法比较
代码如下:
先定义一个二叉树
//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)
}
}