第100题:相同的树

Posted xiaobaidashu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第100题:相同的树相关的知识,希望对你有一定的参考价值。

一. 问题描述

给定两个二叉树,编写一个函数来检验它们是否相同。

如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

示例 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

二. 解题思路

本题思路:采用深度优先遍历树,进行比较两个树的每一个节点。

步骤一:将根节点压入栈。

步骤二:从栈中取出一个节点,判断该节点是否有右子树,左子树,如果有将其子树入栈,并判断两个根节点是否相同,相同继续步骤三,不同,返回false.

步骤三:重复步骤二,直到栈为空。

三. 执行结果

执行用时 :1 ms, 在所有 java 提交中击败了47.60%的用户

内存消耗 :34.1 MB, 在所有 java 提交中击败了85.32%的用户

四. Java代码

以上是关于第100题:相同的树的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode练习(Python):树类:第100题:相同的树:给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

Leecode刷题之旅-C语言/python-100相同的树

leetcode100:相同的树

⭐算法入门⭐《二叉树》简单02 —— LeetCode 100. 相同的树

100. 相同的树

100. 相同的树