面試題 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的子串,...