劍指offer 第26題 樹的子結構

2021-10-09 15:33:45 字數 891 閱讀 8870

輸入兩棵二叉樹a和b,判斷b是不是a的子結構。(約定空樹不是任意乙個樹的子結構)

b是a的子結構, 即 a中有出現和b相同的結構和節點值。

例如:給定的樹 a:

3

/ \ 4

5/ \

12

給定的樹 b:

4

/1

返回 true,因為 b 與 a 的乙個子樹擁有相同的結構和節點值。

示例 1:

輸入:a =[1

,2,3

], b =[3

,1]輸出:false

示例 2:

輸入:a =[3

,4,5

,1,2

], b =[4

,1]輸出:true

限制:

0 <= 節點個數 <= 10000

先序遍歷樹 a中的每個節點 ;判斷樹 a 中 以對應節點為根節點的子樹是否包含樹 b。

終止條件:

參考鏈結

//遍歷a中的每乙個節點

public

boolean

issubstructure

(treenode a, treenode b)

//判斷以a為根節點的子樹是否包含b

public

boolean

recur

(treenode a, treenode b)

提交結果:

劍指offer26題 樹的子結構

輸入兩棵二叉樹a和b,判斷b是不是a的子結構。約定空樹不是任意乙個樹的子結構 b是a的子結構,即 a中有出現和b相同的結構和節點值。例如 給定的樹 a 3 4 5 1 2 給定的樹 b 4 1 返回 true,因為 b 與 a 的乙個子樹擁有相同的結構和節點值。示例 1 輸入 a 1,2,3 b 3...

劍指Offer第18題(樹的子結構)

本部落格旨在個人總結回顧 題目描述 輸入兩棵二叉樹a和b,判斷b是不是a的子結構。二叉樹結點的定義如下 struct binarytreenode 解題思路 理解題目要求 b結構中結點所存的值與a子結構所存值相同即b為a的子結構。要判斷b結構是否為a的子結構就需要遍歷a的子結構,可使用遞迴來解決該問...

劍指offer26 樹的子結構

輸入兩棵二叉樹a和b,判斷b是不是a的子結構。約定空樹不是任意乙個樹的子結構 b是a的子結構,即 a中有出現和b相同的結構和節點值。例如 給定的樹 a 3 4 5 1 2 給定的樹 b 4 1返回 true,因為 b 與 a 的乙個子樹擁有相同的結構和節點值。示例 1 輸入 a 1,2,3 b 3,...