[검지 offer] 면접 문제 27: 두 갈래 나무의 거울

2561 단어 검지offer

전체 코드 주소


전체 코드 주소

제목


주어진 두 갈래 트리를 조작하여 원본 두 갈래 트리의 거울로 변환합니다.

생각


나무의 거울을 구하는 과정: 이전에 이 나무의 모든 노드를 두루 훑어보았고, 두루 훑어본 노드에 하위 노드가 있다면, 두 개의 하위 노드를 교환합니다.모든 좌우 노드를 교환한 후에 나무의 거울을 얻었다.

코드

/**
 *  , 。
 *  :
 *  : 
 *          8
 *         /  \
 *        6   10
 *       / \  / \
 *      5  7 9  11
 *   
 *  :
 *           8
 *         /   \
 *        10    6
 *       / \   / \
 *      11  9 7   5
 * 
 * @author peige
 */
public class _27_MirrorOfBinaryTree {

    public static class TreeNode {
        public int val = 0;
        public TreeNode left = null;
        public TreeNode right = null;
        public TreeNode(int val) {
            this.val = val;
        }
    }

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

}

테스트

/**
 *   
 *  
 * 
 *  :
 * 1. 
 * 
 *  :
 * 1. 
 * 2. 
 * 3. 
 * 
 *  :
 * 1. null
 * 
 * @author peige
 */
public class _27_Test {

    public static void main(String[] args) {

    }
}

좋은 웹페이지 즐겨찾기