当前位置:网站首页>Sword finger offer 26 Substructure of tree
Sword finger offer 26 Substructure of tree
2022-07-07 00:11:00 【xzystart】
Input two binary trees A and B, Judge B Is it right? A Substructure of .( A convention empty tree is not a substructure of any tree )
B yes A Substructure of , namely A There are emergence and B Same structure and node values .
for example :
Given tree A:
3
/ \
4 5
/ \
1 2
Given tree B:
4
/
1
return true, because B And A A subtree of has the same structure and node values .
Example 1:
Input :A = [1,2,3], B = [3,1]
Output :false
Example 2:
Input :A = [3,4,5,1,2], B = [4,1]
Output :true
class Solution {
public boolean isSubStructure(TreeNode A, TreeNode B) {
// Judge by ab A tree for roots b Whether it is a Substructure of
// The function of this function is to judge the two trees of the input parameter ,b Whether it is a Substructure of
// The principle is to see a Whether or not b Exactly the same , If the same returns true, If not, judge a Whether the left and right subtrees of are related to b Exactly the same ,
// The principle is to find A A child node of the tree ( Contains the root node ) Is the subtree of the root and B The trees are exactly equal , If this condition is met , It can be said that it meets the meaning of the topic
// If traversal to empty has not found , It proves that the meaning of the question is not satisfied
if (B == null || A == null) {
// Special value judgment ( Recursion to empty has not been found through the following if)
return false;
}
if (A.val == B.val && (helper(A.left, B.left) && helper(A.right, B.right))) {
// Judge ab Is it completely equal
return true; // There is only one recursive function true return , So the top function is true( Because recursion uses the or operator )
}
// Recursively call ( If the above if If you pass, you will not enter here. Enter here to explain ab A tree with roots does not meet the condition )
// If the above if Pass to prove B Trees and A The molecular structure of a part of the tree is completely equal
return isSubStructure(A.left, B) || isSubStructure(A.right, B);
// Use the or operator , As long as there is one satisfaction, it will be satisfied as a whole
}
private boolean helper(TreeNode root1, TreeNode root2) {
// Judge by ab Whether the trees with roots are completely equal
// Be careful , The function of this function is to judge whether the two trees of the input parameter are completely equal
if (root2 == null) {
return true;
}
if (root1 == null) {
return false;
}
if (root1.val == root2.val) {
return helper(root1.left, root2.left) && helper(root1.right, root2.right);
} else {
return false;
}
}
}
边栏推荐
- matplotlib画柱状图并添加数值到图中
- MIT 6.824 - raft Student Guide
- Racher integrates LDAP to realize unified account login
- Matplotlib draws a histogram and adds values to the graph
- C语言输入/输出流和文件操作【二】
- rancher集成ldap,实现统一账号登录
- MVC and MVVM
- [CVPR 2022] target detection sota:dino: Detr with improved detecting anchor boxes for end to end object detection
- What is AVL tree?
- 【2022全网最细】接口测试一般怎么测?接口测试的流程和步骤
猜你喜欢

DAY THREE

Rider离线使用Nuget包的方法

MATLIB从excel表中读取数据并画出函数图像

沉浸式投影在线下展示中的三大应用特点

DAY THREE

Asset security issues or constraints on the development of the encryption industry, risk control + compliance has become the key to breaking the platform

DAY ONE

The intranet penetrates the zerotier extranet (mobile phone, computer, etc.) to access intranet devices (raspberry pie, NAS, computer, etc.)

MATLIB reads data from excel table and draws function image

快手的新生意,还得靠辛巴吆喝?
随机推荐
什么是响应式对象?响应式对象的创建过程?
[boutique] Pinia Persistence Based on the plug-in Pinia plugin persist
How can computers ensure data security in the quantum era? The United States announced four alternative encryption algorithms
【CVPR 2022】半监督目标检测:Dense Learning based Semi-Supervised Object Detection
Do you still have to rely on Simba to shout for a new business that is Kwai?
What can the interactive slide screen demonstration bring to the enterprise exhibition hall
微信小程序uploadfile服务器,微信小程序之wx.uploadFile[通俗易懂]
编译logisim
DAY SIX
PDF文档签名指南
iMeta | 华南农大陈程杰/夏瑞等发布TBtools构造Circos图的简单方法
vector的使用方法_vector指针如何使用
A way of writing SQL, update when matching, or insert
刘永鑫报告|微生物组数据分析与科学传播(晚7点半)
leetcode:236. The nearest common ancestor of binary tree
openresty ngx_lua子请求
数据运营平台-数据采集[通俗易懂]
Who said that new consumer brands collapsed? Someone behind me won
ldap创建公司组织、人员
okcc呼叫中心的订单管理时怎么样的