검지 Offer: 두 갈래 트리 대칭복사(솔)

1176 단어 검지 Offer


제목 설명


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

설명 입력:

 :  
    	    8
    	   /  \
    	  6   10
    	 / \  / \
    	5  7 9 11
    	 
    	    8
    	   /  \
    	  10   6
    	 / \  / \
    	11 9 7  5

내 생각:
각 노드에 대해 비어 있으면 돌아오고, 좌우 아이가 있으면 서로 교환한 다음 왼쪽 아이와 오른쪽 아이를 각각 거울로 돌려보낸다.
/*
struct TreeNode {
	int val;
	struct TreeNode *left;
	struct TreeNode *right;
	TreeNode(int x) :
			val(x), left(NULL), right(NULL) {
	}
};*/
class Solution {
public:
    void Mirror(TreeNode *pRoot) {
        if (pRoot == NULL) {
            return;
        }
        TreeNode *tmp_node = pRoot -> left;
        pRoot -> left = pRoot -> right;
        pRoot -> right = tmp_node;
        Mirror(pRoot -> left);
        Mirror(pRoot -> right);
    }
};

좋은 웹페이지 즐겨찾기