《劍指offer》面試題14 樹的子結構

2021-10-23 21:09:52 字數 842 閱讀 7054

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

這個題目很明顯可以使用遞迴來做,我們只需要判斷其子數的結構是不是相同的就行了,**如下:

# -*- coding:utf-8 -*-

# class treenode:

# def __init__(self, x):

# self.val = x

# self.left = none

# self.right = none

class solution:

def hassubtree(self, proot1, proot2):

# write code here

if proot1 == none or proot2 == none:

return false

return self.issubtree(proot1, proot2)

def issubtree(self, p1, p2):

if p2 == none:

return true

if p1 == none:

return p1 == p2

res = false

if p1.val == p2.val:

res = self.issubtree(p1.left, p2.left) and self.issubtree(p1.right, p2.right)

return res or self.issubtree(p1.left, p2) or self.issubtree(p1.right, p2)

面試題 劍指offer14

題目 調整陣列資料使奇數全部在偶數前面 解法一 void oddnumberfront1 int arr,int length int first int last first arr last arr length 1 while first while first if first 這種解法比較...

劍指Offer 面試題18 樹的子結構

樹的子結構 輸入兩顆二叉樹a和b,判斷b是不是a的子結構。例如 樹a 樹b 8 8 87 9 292 47過程總結 在樹a中查詢與樹b中根節點一樣的值,然後遞迴比較兩者的左子樹和右子樹是否相同 遞迴出口是 樹b的左右子樹為空 這道題目有兩個遞迴 主遞迴 用於確定樹a中的那個根節點與樹b的根節點進行比...

劍指offer 面試題26 樹的子結構

完整 位址 輸入兩棵二叉樹a,b,判斷b是不是a的子結構。ps 我們約定空樹不是任意乙個樹的子結構 找到樹a中與樹b根節點值相同的節點,設樹a中該節點為subroot 在遍歷樹b的同時,遍歷subroot,如果遍歷完樹b發現subroot中沒有與b不一致的地方,則b是a的子結構 遍歷樹b時,發現su...