(Tree)이진트리를 좌우로 대칭 시키는 함수

2022. 6. 17. 00:05개발자 과정/C,C++

bfs와 스왑으로 풀 수 있는 문제이다.

bool reverse(){ return isEmpty() ? 0 : reverse(root); }//호출 함수//
bool reverse(BinaryNode* root) {
	CircluarQueue q;
	q.enqueue(root);
	while (!q.isEmpty())
	{
		BinaryNode* node = q.dequeue();
		BinaryNode* tmp = node->getLeft();
		node->setLeft(node->getRight());
		node->setRihgt(tmp);
        //스왑//
		if (node->getLeft() != NULL) {
			q.enqueue(node->getLeft());
		}
		if (node->getRight() != NULL) {
			q.enqueue(node->getRight());
		}
	}
	printf("reverse\n");
    //완료 하면 reverse를 출력하고 true리턴//
	return true;
}

병에 걸려 이런저런 상태가 안좋다. 게다가 취업은 아직 멀었는데 알바는 안잡히고,,,어디 아웃소싱으로 공장이라도 들어가려 해도 공부랑 병행 할 수 있을 만큼의 자리는 구해지지가 않는다. 여러모로 아주 망한 상황인데,,,이걸 어떻게 풀어나가야 할지 모르겠다. 길이 막막한데 병까지 걸리니 자꾸 축축쳐지고 코딩도 의미가 없다는 생각이 자꾸 든다...

이럴때일 수록 정신을 차려하 하겠지? 무리하지 말고 조금씩이라도 진전해 나아가 보자.