首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

LeetCode 相同樹判斷:遞歸法解析

     編輯:關於C++

題目描述

判斷兩棵二叉樹是否完全相同:結構相同且對應節點值相等。

遞歸解法

若兩根節點均為空返回真;若一空一非空返回假;值不等返回假;否則遞歸比較左子樹與左子樹、右子樹與右子樹。

class Solution:
    def isSameTree(self, p, q):
        if not p and not q:
            return True
        if not p or not q:
            return False
        if p.val != q.val:
            return False
        return self.isSameTree(p.left, q.left) and \
               self.isSameTree(p.right, q.right)

複雜度

  • 時間:O(min(m, n)),m、n 為兩樹節點數。
  • 空間:O(h),h 為樹高,遞歸棧深度。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved