1. 程式人生 > 其它 >【牛客網-名企高頻面試題】 NC72 二叉樹的映象

【牛客網-名企高頻面試題】 NC72 二叉樹的映象

技術標籤:# 牛客網

【牛客網-名企高頻面試題】 NC72 二叉樹的映象

題目描述:

操作給定的二叉樹,將其變換為源二叉樹的映象。
在這裡插入圖片描述
遞迴版本:

public void Mirror_1(TreeNode root) {
        if(root == null){
            return;
        }
        TreeNode temp = root.left;
        root.left = root.right;
        root.right = temp;
        Mirror(root.left);
        Mirror
(root.right); }

非遞迴版本:

/**
public class TreeNode {
    int val = 0;
    TreeNode left = null;
    TreeNode right = null;

    public TreeNode(int val) {
        this.val = val;

    }

}
*/
import java.util.*;
public class Solution {
    
    //利用二叉樹的廣度優先搜尋實現映象
    public void Mirror(TreeNode root) {
if(root == null) return; Queue<TreeNode> nodes = new LinkedList<>(); TreeNode curr,temp; nodes.offer(root); while(!nodes.isEmpty()){ int len = nodes.size(); for(int i= 0;i< len;i++){ curr = nodes.
poll(); temp = curr.left; curr.left = curr.right; curr.right = temp; if(curr.left != null) nodes.offer(curr.left); if(curr.right != null) nodes.offer(curr.right); } } } }