首页 > 其他分享 >【刷题笔记】100. Same Tree

【刷题笔记】100. Same Tree

时间:2023-11-04 15:05:13浏览次数:41  
标签:return Val nil false Tree Same Input TreeNode 100

题目

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

题目大意

这一题要求判断 2 颗树是否是完全相等的。

解题思路

递归判断即可。

参考代码

package leetcode

import (
	"github.com/halfrost/LeetCode-Go/structures"
)

// TreeNode define
type TreeNode = structures.TreeNode

/**
 * Definition for a binary tree node.
 * type TreeNode struct {
 *     Val int
 *     Left *TreeNode
 *     Right *TreeNode
 * }
 */

func isSameTree(p *TreeNode, q *TreeNode) bool {
	if p == nil && q == nil {
		return true
	} else if p != nil && q != nil {
		if p.Val != q.Val {
			return false
		}
		return isSameTree(p.Left, q.Left) && isSameTree(p.Right, q.Right)
	} else {
		return false
	}
}

标签:return,Val,nil,false,Tree,Same,Input,TreeNode,100
From: https://blog.51cto.com/u_16341994/8182401

相关文章

  • 100至200内的素数
    intmain(){ inta=0; intcount=0; for(a=100;a<=200;a++) { intb=0; for(b=2;b<a;b++) { if(a%b==0) { break; } } if(b==a) { count++; printf("%d",a); } } printf("总数=......
  • uniapp小程序小bug,扫码进入小程序场景值为1001的情况之一。
    首先,这个问题原因是这样的用户第一次扫码进入小程序在app.vue的onLaunch下拿不到optiond的query对象的值场景值为1001,按照正常来说扫码进来应该是1047。排查原因只有用户在打开小程序的情况下没有杀掉进程只是切换页面到微信主页进行扫码进入小程序,结果就会出现扫码进入小程序的......
  • 【刷题笔记】98. Validate Binary Search Tree
    题目Givenabinarytree,determineifitisavalidbinarysearchtree(BST).AssumeaBSTisdefinedasfollows:Theleftsubtreeofanodecontainsonlynodeswithkeys lessthan thenode'skey.Therightsubtreeofanodecontainsonlynodeswith......
  • e1000e 0000:00:1f.6: The NVM Checksum Is Not Valid
    Ubuntu20.04系统,遇到I219网卡不能用的问题,查看dmesg得到如下信息: 解决办法:1.下载Intel官方工具BootUtility: 下载地址:https://www.intel.com/content/www/us/en/download/15755/intel-ethernet-connections-boot-utility-preboot-images-and-efi-drivers.html?下载linu......
  • Oracle中B-tree索引的访问方法(一)-- 索引逻辑结构
    B-tree索引的逻辑结构1.1B-tree索引依据不同的维度,我们可以对索引进行相应的分类。比如,根据索引键值是否允许有重复值,可以分为唯一索引和非唯一索引;根据索引是由单个列,还是由多个列构成,又可以分为单列索引和组合索引(也称之为联合索引);而从索引的数据组织结构上来分类,则最常见的是B-......
  • A. Copil Copac Draws Trees
    A.CopilCopacDrawsTrees题目大意:给出一个树边序列,要求你从1号节点建树,对于每条边只有两个端点中有一个绘制了才可以绘制此边思路:这题思路不难,但以前写图太少,遍历被卡,给每个边按序列编号,dfs如果该边的编号大于上条边\(ans++\)code:intn;vector<pii>a[N];intans[N]=......
  • 面试10000次依然会问的【volatile】,你还不会?
    volatile关键字的定义volatile是Java语言提供的一种轻量级的同步机制,主要用于「确保变量的修改对其他线程是立即可见的」,以及「防止指令重排序」。使用volatile修饰的变量,其读写操作直接作用于主存,而不是线程的工作内存。这意味着一旦一个线程修改了volatile变量的值,其他线程立即......
  • vim 的nerdtree插件中如何显示当前打开的文件路径?
    树形目录nerdtree插件中如何显示当前打开的文件路径?类似这样:只需在.vimrc文件中加入下面3行就可以了"设置NerdTreemap<F3>:NERDTreeMirror<CR>map<F3>:NERDTreeToggle<CR>map<leader>r:NERDTreeFind<cr>......
  • (C语言)1到50的阶乘之和列表,参考用,洛谷:P1009 [NOIP1998 普及组] 阶乘之和
    1到50列表,阶乘之和S=1!+2!+3!+⋯+n!(n≤50)1::12::33::94::335::1536::8737::59138::462339::40911310::403791311::4395471312::52295631313::674997711314::9392826831315::140160263631316::2232439252431317::37801182062031318::678038552634831319::12842......
  • Jtti:香港服务器促销70% off,100M带宽@不限流$ 99.3/月,免费20G DDoS防御
    Jtti:香港服务器促销70%off,100M带宽@不限流$ 99.3/月,免费20GDDoS防御 Jtti针对香港服务器发布了特价促销,70%off,每月仅需$ 99.3,具体配置为XeonE5-2660、500GSSD、16GB内存、100M大带宽@不限流,免费20G防御,可以安装Linux或者Windows操作系统。除了香港服务器以外,新加坡和美国机......