Sword se refiere a la Oferta 27. Duplicación del árbol binario-Recursividad / Pila

Sword se refiere a la Oferta 27. La imagen especular del árbol binario

Método uno: recursividad

class Solution {
    public TreeNode mirrorTree(TreeNode root) {
        if(root!=null){
            TreeNode tmp=root.left;
            root.left=root.right;
            root.right=tmp;
            mirrorTree(root.left);
            mirrorTree(root.right);
        }
        return root;
    }
}

Método 2: apilar

Uso de la pila, stack.push (xxx)

stack.isEmpty ()

class Solution {
    public TreeNode mirrorTree(TreeNode root) {
        if(root==null)  return null;
        Stack<TreeNode> stack=new Stack<TreeNode>();
        stack.push(root);
        while(!stack.isEmpty()){
            TreeNode node=stack.pop();
            if(node.left!=null)    stack.push(node.left);
            if(node.right!=null)    stack.push(node.right);
            TreeNode tmp=node.left;
            node.left=node.right;
            node.right=tmp;
        }
        return root;
    }
}

Supongo que te gusta

Origin blog.csdn.net/qq_41041762/article/details/108077596
Recomendado
Clasificación