LeetCode 불규칙한 브러시 제목 --Same 트리

같은 트리

을 감안할 때 두 이진 트리, 그들은 동일 여부 있는지 확인하는 함수를 작성합니다.

그들은 구조적으로 동일하며 노드의 값이 같을 경우 두 이진 트리가 같은 것으로 간주됩니다.

예 1 :

Input:     1         1
          / \       / \
         2   3     2   3

        [1,2,3],   [1,2,3]

Output: true

예 2 :

Input:     1         1
          /           \
         2             2

        [1,2],     [1,null,2]

Output: false

예 3 :

Input:     1         1
          / \       / \
         2   1     1   2

        [1,2,1],   [1,1,2]

Output: false
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    public boolean isSameTree(TreeNode p, TreeNode q) {
        if(p==null&&q==null){
            return true;
        }
        if(p == null || q == null){
            return false;
        } 
        if(p.val==q.val){
        return isSameTree(p.left,q.left)&&isSameTree(p.right,q.right);
        }
        return false;
    }
}

이것은 분명히 우리가하지 보증 페이지 수, 우리는 조건을 종료하기로 결정한다, 그래서 p는, q는 비어있을 때 당신이 판단하지 않는 경우,이 언뜻 여부 쪽을 결정 또는 q가 비어 수 있다는 사실 판단 할 수 있지만, 재귀의 사용이다 여부 q를 비어, 따라서 판단 p.val == q.val 할 수 없으며, 널 포인터 오류가보고됩니다.

게시 된 173 개 원래 기사 · 원 찬양 (110) ·은 10 만 + 조회수

추천

출처blog.csdn.net/qq_35564813/article/details/104737033