LeetCode tiene una pregunta todos los días, y la acumulación de menos resultará en más, y la cantidad ha cambiado a un cambio cualitativo (ocupado recientemente y actualizado irregularmente ...)

100. El mismo árbol

Dados dos árboles binarios, escriba una función para verificar si son iguales.
Si dos árboles son idénticos en estructura y los nodos tienen el mismo valor, se consideran iguales.

示例 1:
输入:       1         1
          / \       / \
         2   3     2   3

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

输出: true

示例 2:
输入:      1          1
          /           \
         2             2

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

输出: false

示例 3:
输入:       1         1
          / \       / \
         2   1     1   2

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

输出: false

responder:

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
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.right,q.right) && isSameTree(p.left,q.left);

        return false;
    }
}

59/59 casos de prueba aprobados
Estado: Aprobado Tiempo de
ejecución: 0 ms
Consumo de memoria: 37,5 MB

Este tema se inspira en el juicio de si un árbol es simétrico en el algoritmo principal. Similar al juicio sobre ese tema.

Supongo que te gusta

Origin blog.csdn.net/u011148116/article/details/107862719
Recomendado
Clasificación