[リートコード] 0100. 同じ木

Python、C++、JavaScript、SQL、TypeScript の多様な LeetCode ソリューションを探索してください。面接の準備、学習、複数のプログラミング言語でのコードの練習に最適です。 Github リポジトリ リンク


2つの二分木の根が与えられた場合 p そして q同じかどうかを確認する関数を記述します。

2 つのバイナリ ツリーは、構造的に同一であり、ノードの値が同じである場合、同じであると見なされます。

 

例 1:

入力: p = [1,2,3]、q = [1,2,3]
出力: 真実

例 2:

入力: p = [1,2]、q = [1、null、2]
出力: 間違い

例 3:

入力: p = [1,2,1]、q = [1,1,2]
出力: 間違い

 

制約:

  • 両方のツリーのノード数は範囲内です [0, 100].
  • -10 4 <= ノード値 <= 10 4

パイソン

				
					# 時間計算量: O(n) # 空間計算量: O(n) from entering Optional class TreeNode: def __init__(self, val=0, left=None, right=None): self.val = val self.left = left self.right = right class 解決方法: def isSameTree(self, p: Optional[TreeNode], q: Optional[TreeNode]) -> bool: if p == None and q == None: return True if p == None or q == None: return False if p.val != q.val: return False return self.isSameTree(p.left, q.left) and self.isSameTree(p.right, q.right) p = TreeNode(1) p.left = TreeNode(2) p.right = TreeNode(2) q = TreeNode(1) q.left = TreeNode(2) q.right = TreeNode(2) print(Solution().isSameTree(p, q))
				
			
ja日本語