【leetcode】-100. Same Tree 동일 트리 판단

1545 단어 LeetCode

Same Tree

  • 제목
  • 귀속
  • python 코드

  • 제목


    Given two binary trees, write a function to check if they are the same or not.
    Two binary trees are considered the same if they are structurally identical and the nodes have the same value.
    Example 1:
    Input:
    	   1         1
          / \       / \
         2   3     2   3
    
        [1,2,3],   [1,2,3]
    

    Output: true
    Example 2:
    Input:
    	   1         1
          /           \
         2             2
    
        [1,2],     [1,null,2]
    

    Output: false
    Example 3:
    Input:
    	   1         1
          / \       / \
         2   1     1   2
    
        [1,2,1],   [1,1,2]
    

    Output: false

    차례로 돌아가다


    두 갈래 나무에 대한 조작은 일반적으로 귀속으로 처리할 수 있다.두 갈래 나무가 같은지 아닌지를 판단하려면 먼저 비교해야 할 두 노드가 같은지 아닌지를 보고 그 좌우 나무를 두루 돌아다닌다.
    두 노드가 같다고 판단한다. 1. 두 노드가 모두 비어 있으면 같다.2. 하나가 비어 있고 하나가 비어 있지 않으면 같지 않다.3. 두 노드의 값이 같지 않으면 같지 않다.

    python 코드

    # Definition for a binary tree node.
    # class TreeNode:
    #     def __init__(self, val=0, left=None, right=None):
    #         self.val = val
    #         self.left = left
    #         self.right = right
    class Solution:
        def isSameTree(self, p: TreeNode, q: TreeNode) -> bool:
            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)
    

    좋은 웹페이지 즐겨찾기