劍指offer 樹的子結構

2021-07-16 12:49:42 字數 659 閱讀 8532

題目描述

輸入兩顆二叉樹a,b,判斷b是不是a的子結構。

這實際上二叉樹遍歷演算法的一種應用,要在原二叉樹中查詢是否具有某課子樹,只需要判斷每個節點是否都在二叉樹中是否出現即可。所以需要先判斷頭結點,只有頭結點符合要求才繼續比較其子樹是否符合,一樣依次從頭結點開始比較直到其左右子樹進行比較,如果都符合則說明b是a的子結構

package com.gpl.offer.jianzhi;

/*** created by gpl on 2016/8/10.

*/public class subtree

public void

setright(node right)

public

node(int val)

}public boolean

hassubtree(node root1, node root2)

if(!hassubtree)

if(!hassubtree)

}return hassubtree;

} private boolean

treeequal(node root1, node root2)

public static void

main(string args)

}

劍指offer 樹的子結構

華電北風吹 天津大學認知計算與應用重點實驗室 日期 2015 9 30 題目描述 輸入兩顆二叉樹a,b,判斷b是不是a的子結構。解析 解決樹類問題的時候遞迴是乙個很好的解決方案,並且寫的程式簡單,理解起來也很容易。遞迴的時候謝了乙個函式來判斷當前兩個根節點對應的子樹是否相等 issubtree 不想...

劍指offer 樹的子結構

大體思路如下 在程式遞迴過程中,記得注意遞迴的出口以及空指標的處理 主程式中在root1 root2非空的條件下才能去判斷 判斷judge函式中,一些邊界出口為 if root2 null return true if root1 null return false public class sol...

劍指offer 樹的子結構

原題描述 輸入兩棵二叉樹a,b,判斷b是不是a的子結構。ps 我們約定空樹不是任意乙個樹的子結構 思路 採用遞迴的思想。hassubtree treenode proot1,treenode proot2 函式判定proot2是否是proot1的子結構。hastopsubtree treenode ...