Para provar a segurança OFERTA árvore - recursiva

Descreva um subestruturas tópico árvores

Duas entradas binárias A, B, B é julgado não subestrutura de um. (Ps: nós concordamos árvore vazia não é uma árvore qualquer subestrutura)

pensamento

backtracking

# -*- 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):
        if not (pRoot2 and pRoot1) :
            return False
        if pRoot2.val == pRoot1.val:
            left = True
            right = True
            if pRoot2.left:
                if not self.HasSubtree(pRoot1.left, pRoot2.left):
                    left = False
            if pRoot2.right:
                if not self.HasSubtree(pRoot1.right, pRoot2.right):
                    right = False
            if not (left and right):
                if not (self.HasSubtree(pRoot1.left,pRoot2) or self.HasSubtree(pRoot1.right,pRoot2)):
                    return False
        else:
            if self.HasSubtree(pRoot1.left, pRoot2) or self.HasSubtree(pRoot1.right, pRoot2):
                return True
            else:
                return False
        return True

 

tópico dois

Operação de uma determinada árvore binária, a árvore binária é convertida em uma imagem de origem.

Digite uma descrição:

Espelhamento definição de árvore binária: fonte binária 
    	    8 
    	   / \ 
    	  610 
    	 / \ / \ 
    	57911 
    	espelho binário 
    	    8 
    	   / \ 
    	  106 
    	 / \ / \ 
    	11975

pensamento

recursão

# -*- coding:utf-8 -*-
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None
class Solution:
    # 返回镜像树的根节点
    def Mirror(self, root):
        if root:
            temp = root.right
            root.right = root.left
            root.left = temp
            self.Mirror(root.left)
            self.Mirror(root.right)
        return root

 

Publicado 82 artigos originais · ganhou elogios 2 · Vistas 4369

Acho que você gosta

Origin blog.csdn.net/qq_22498427/article/details/104741789
Recomendado
Clasificación