判斷兩個二叉樹是否相等,遞歸思路:
先判斷兩個二叉樹的根的值是否相同,如相同則比較他們的左子樹與右子樹是否相同。遞歸結束的條件是傳入的兩個二叉樹都是空。
//二叉樹結構類
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?.val != q?.val {
return false
}else{
if p?.val == nil && q?.val == nil {
return true
}else{
return isSameTree(p?.left,q?.left)&&isSameTree(p?.right,q?.right)
}
}
}