문제링크 : www.hackerrank.com/challenges/tree-level-order-traversal/problem
노드의 height가 낮을수록, 왼쪽 노드일 수록 먼저 출력하는 코드다. 같은 레벨의 노드를 먼저 출력하기 위해서 같은 높이의 노드들을 left 노드부터 큐에 담도록 짰다
public static void levelOrder(Node root) {
Queue<Node> q = new LinkedList<Node>();
q.offer(root);
while(!q.isEmpty()){
int q_size= q.size();
for(int i=0;i<q_size;i++){
Node cur = q.poll();
if(cur.left!=null) q.offer(cur.left);
if(cur.right!=null) q.offer(cur.right);
System.out.print(cur.data + " ");
}
}
}
'알고리즘 > 해커랭크' 카테고리의 다른 글
[해커랭크] Tree: Huffman Decoding [JAVA] (0) | 2021.01.19 |
---|---|
[해커랭크] Binary Search Tree : Insertion [JAVA] (0) | 2021.01.18 |
[해커랭크] Tree: Postorder Traversal [JAVA] (0) | 2021.01.18 |
[해커랭크] Tree: Height of a Binary Tree [JAVA] (0) | 2021.01.18 |
[해커랭크] Tree: Inorder Traversal [JAVA] (0) | 2021.01.18 |