第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相同的树