[Swift]判斷兩個二叉樹是否相同

判斷兩個二叉樹是否相等,遞歸思路:
先判斷兩個二叉樹的根的值是否相同,如相同則比較他們的左子樹與右子樹是否相同。遞歸結束的條件是傳入的兩個二叉樹都是空。

//二叉樹結構類
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)
            }
        }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章