劍指offer 面試26題

2022-04-23 00:46:24 字數 1076 閱讀 4714

面試26題:

題目:樹的子結構

題:輸入兩棵二叉樹a和b,判斷b是不是a的子結構。

解題思路:遞迴,注意空指標的情況。

解題**:

#

-*- coding:utf-8 -*-

#class treenode:

#def __init__(self, x):

#self.val = x

#self.left = none

#self.right = none

class

solution:

defhassubtree(self, proot1, proot2):

#write code here

res=false

if proot1 and

proot2:

if proot1.val==proot2.val:

res=self.subtreecore(proot1,proot2)

ifnot

res:

res=self.hassubtree(proot1.left,proot2)

ifnot

res:

res=self.hassubtree(proot1.right,proot2)

return

res

defsubtreecore(self,proot1,proot2):

if proot2==none:

return

true

if proot1==none:

return

false

if proot1.val!=proot2.val:

return

false

return self.subtreecore(proot1.left,proot2.left) and self.subtreecore(proot1.right,proot2.right)

另外,如果樹節點的val值是double的時候,需要自定義乙個equal函式,當num1和num2相差小於1e-07時即可認為是相等的,詳見劍指offer p151

劍指offer面試題26

面試題26 複雜鍊錶的複製 題目 請實現函式complexlistnode clone complexlistnode phead 複製乙個複雜鍊錶。在複製鍊錶中,每個結點除了有乙個m pnext指標指向下乙個結點外,還有乙個m psibling指向鍊錶中任意結點或者null。結點的c 定義如下 s...

劍指offer 面試35題

面試35題 題目 複雜鍊錶的複製 題 輸入乙個複雜鍊錶 每個節點中有節點值,以及兩個指標,乙個指向下乙個節點,另乙個特殊指標指向任意乙個節點 返回結果為複製後複雜鍊錶的head。注意,輸出結果中請不要返回引數中的節點引用,否則判題程式會直接返回空 解題思路一 python作弊法 解題 coding ...

劍指offer 面試33題

面試33題 題 二叉搜尋樹的後序遍歷序列 題目 輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。解題思路 遞迴 解題 coding utf 8 class solution defverifysquenceof...