criskgl
10/2/2019 - 6:08 PM

print binary Tree level by level

void printLevelByLevel(TreeNode root){
  Queue<TreeNode> q = new LinkedList<TreeNode>();
  q.add(root);
  int toVisit = 1;
  while(!q.isEmpty()){
      int newToVisit = 0;
      StringBuilder level = new StringBuilder();
      for(int i = 0; i < toVisit; i++){
          TreeNode current = q.poll();
          level.append(Integer.toString(current.val));
          if(current.left != null){
              q.add(current.left);
              newToVisit++;
          }
          if(current.right != null){
              q.add(current.right);
              newToVisit++;
          }
      }
      System.out.println(level.toString());
      toVisit = newToVisit;
  }
}