另乙個樹的子樹

2021-09-26 20:08:08 字數 1068 閱讀 4020

給定兩個非空二叉樹 s 和 t,檢驗 s 中是否包含和 t 具有相同結構和節點值的子樹。s 的乙個子樹包括 s 的乙個節點和這個節點的所有子孫。s 也可以看做它自身的一棵子樹。

遞迴

class solution(object):

def issubtree(self, s, t):

def ifsame(s, t):

if s==none and t==none;

return true

if s==none and t!=none:

return false

if s!=none and t==none:

return false

if s.val == t.val:

return ifsame(s.left, t.left) and ifsame(s.right, t.right)

else

return false

if ifsame(s, t):

return true

elif s!=none:

return self.issubtree(s.left, t) or self.issubtree(s.right, t)

else:

return false

先序遍歷生成兩個樹,判斷乙個字串是不是另乙個字串的子串

class solution(object):

def issubtree(self, s, t):

ss = self.inorder(s)

st = self.inorder(t)

return st in ss

def inorder(self, root):

if not root:

return '#'

res = ''

res = res +'*'+str(root.val)

res += self.inorder(root.left)

res += self.inorder(root.right)

return res

另乙個樹的子樹

給定兩個非空二叉樹 s 和 t,檢驗 s 中是否包含和 t 具有相同結構和節點值的子樹。s 的乙個子樹包括 s 的乙個節點和這個節點的所有子孫。s 也可以看做它自身的一棵子樹。示例 1 給定的樹 s 3 4 5 1 2 給定的樹 t 4 1 2 返回 true,因為 t 與 s 的乙個子樹擁有相同的...

另乙個樹的子樹

給定兩個非空二叉樹 s 和 t,檢驗 s 中是否包含和 t 具有相同結構和節點值的子樹。s 的乙個子樹包括 s 的乙個節點和這個節點的所有子孫。s 也可以看做它自身的一棵子樹。示例 1 給定的樹 s 3 4 5 1 2 給定的樹 t 4 1 2 返回 true,因為 t 與 s 的乙個子樹擁有相同的...

572 另乙個樹的子樹

題目分析 另外寫乙個函式用於判斷兩顆二叉樹是不是相同的。然後依次挪動s的位置,對s當前指的節點呼叫上面的函式,進行判斷。definition for a binary tree node.struct treenode class solution else if s null t null if ...