100. Same Tree--LeetCode Record

Tong_hdj發表於2016-07-10

Given two binary trees, write a function to check if they are equal or not.

Two binary trees are considered equal if they are structurally identical and the nodes have the same value.

/**
 * 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 {
            return true
        }else if p == nil || q == nil {
            return false
        }else if p?.val == q?.val {
            return isSameTree(p?.left, q?.left) == true  && isSameTree(p?.right, q?.right) == true
        }else {
            return false
        }
    }
}

相關文章