C# / .NET 알고리즘과 퀴즈
본 알고리즘 퀴즈 문제는 C#/.NET 개발자를 위한 알고리즘 인터뷰 혹은 C# 프로그래밍을 통한
문제 해결 알고리즘을 연구해 보는데 도움이 되고자 작성되었습니다.
문제 해결 알고리즘을 연구해 보는데 도움이 되고자 작성되었습니다.
퀴즈 질문 | |
예상답변/설명 | 이진 트리의 좌우 노드를 서로 교환(swap)하여 문제를 해결할 수 있다. 루트노드의 좌우 노드 포인터를 SWAP하고, 계속 하위 레벨 노드들에 대해 Recursion을 사용하여 교환할 수 있다.
void MirrorTree(TreeNode t)
{
if (t == null ||
(t.Left == null && t.Right == null))
return;
var temp = t.Left;
t.Left = t.Right;
t.Right = temp;
MirrorTree(t.Left);
MirrorTree(t.Right);
}
|