본문 바로가기

알고리즘/해커랭크

[해커랭크] Tree: Level Order Traversal [JAVA]

문제링크 : www.hackerrank.com/challenges/tree-level-order-traversal/problem

 

Tree: Level Order Traversal | HackerRank

Level order traversal of a binary tree.

www.hackerrank.com

노드의 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 + " ");
          }
      }
      
    }