面試題 04 10 檢查子樹

2021-10-03 03:45:27 字數 789 閱讀 7714

面試題 04.10. 檢查子樹 【中等題】【遞迴】

檢查子樹。你有兩棵非常大的二叉樹:t1,有幾萬個節點;t2,有幾萬個節點。設計乙個演算法,判斷 t2 是否為 t1 的子樹。

如果 t1 有這麼乙個節點 n,其子樹與 t2 一模一樣,則 t2 為 t1 的子樹,也就是說,從節點 n 處把樹砍斷,得到的樹與 t2 完全相同。

輸入:t1 =[1

,2,3

], t2 =[2

]輸出:true

輸入:t1 =[1

, null,2,

4], t2 =[3

,2]輸出:false

【核心思想】

【思路】

如果當前兩個節點的val相等,那麼遞迴判斷checksubtree(t1.left,t2.left) && checksubtree(t1.right,t2.right)如果當前兩個節點的val不相等,那麼遞迴判斷checksubtree(t1.left,t2) || checksubtree(t1.right,t2)最後處理邊界條件

【**】

public

boolean

checksubtree

(treenode t1, treenode t2)

面試題04 10 檢查子樹

題目鏈結 檢查子樹。你有兩棵非常大的二叉樹 t1,有幾萬個節點 t2,有幾萬個節點。設計乙個演算法,判斷 t2 是否為 t1 的子樹。如果 t1 有這麼乙個節點 n,其子樹與 t2 一模一樣,則 t2 為 t1 的子樹,也就是說,從節點 n 處把樹砍斷,得到的樹與 t2 完全相同。示例1 輸入 t1...

力扣日常打卡 面試題04 10 檢查子樹

題目描述 檢查子樹。你有兩棵非常大的二叉樹 t1,有幾萬個節點 t2,有幾萬個節點。設計乙個演算法,判斷 t2 是否為 t1 的子樹。如果 t1 有這麼乙個節點 n,其子樹與 t2 一模一樣,則 t2 為 t1 的子樹,也就是說,從節點 n 處把樹砍斷,得到的樹與 t2 完全相同。示例 思路與題解 ...

演算法面試題 拓撲結構相同子樹

題目 解析 這個題目的目的很明確,就是判斷a是否包含b。這裡的做法是對兩顆二叉樹分別求先序遍歷,接著比較。但是要注意的是,先序遍歷需要進行特殊處理。舉例 先對整a棵樹進行先序遍歷,序列為12453。情況一 假設b二叉樹只有乙個節點3,那麼b子樹的先序遍歷序列就是3,接著判斷3是否為12453的子串,...