NOWCODER 劍指offer 樹的子結構

2021-08-25 12:05:17 字數 966 閱讀 3060

這個一定要想清楚匹配成功的條件,屬於子結構,必然是樹2遍歷完為空,樹1可能遍歷完了可能沒遍歷完

而剛開始需要兩棵樹都不為空,所以必須要寫乙個內部**迴圈呼叫

占用記憶體:5624k

# -*- 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

def match(root1,root2):

if not root2:

return true

if not root1:

return false

if(root1.val==root2.val) and (root1.val==root2.val):

return (match(root1.left,root2.left) and match(root1.right,root2.right))

result = false

if proot1 and proot2:

if(proot1.val==proot2.val):

result = match(proot1,proot2)

if (not result):

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

if (not result):

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

return result

NOWCODER 劍指offer 順時針列印矩陣

折騰了好久。寫得好繁瑣。相當於試出來的 占用記憶體 5852k coding utf 8 class solution matrix型別為二維列表,需要返回列表 def printmatrix self,matrix write code here if not matrix return m le...

劍指offer全套解答 劍指offer 1 5

1.二維陣列中的查詢 在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。public class solution int n array 0 length i...

劍指offer全套解答 劍指offer 36 45

36.兩個鍊錶的第乙個公共節點 輸入兩個鍊錶,找出它們的第乙個公共結點。注意因為傳入資料是鍊錶,所以錯誤測試資料的提示是用其他方式顯示的,保證傳入資料是正確的 public class solution return p 37.數字在排序陣列 現的次數 統計乙個數字在公升序陣列 現的次數。publi...