fork(1) download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static void main (String[] args) throws java.lang.Exception
  11. {
  12. Node node = new Node(1);
  13. node.left = new Node(2);
  14. node.right = new Node(3);
  15. node.left.left = new Node(4);
  16. node.left.right = new Node(5);
  17. node.right.left = new Node(6);
  18. node.right.right = new Node(7);
  19. //System.out.println(node.data);
  20. printSpiral(node);
  21. }
  22.  
  23. static class Node {
  24. int data;
  25. Node left;
  26. Node right;
  27.  
  28. Node(int data) {
  29. this.data = data;
  30. }
  31.  
  32. }
  33.  
  34. /*
  35. 1
  36. 2 3
  37. 4 5 6 7
  38. */
  39. static void printSpiral(Node node) {
  40. Queue<Node> queue = new LinkedList<>();
  41. boolean leftToRight = true;
  42. queue.add(node);
  43. while(!queue.isEmpty()) {
  44. Node queueElement = queue.poll();
  45. System.out.println(queueElement.data);
  46. if(leftToRight) {
  47. if(queueElement.left!=null) {
  48. queue.add(queueElement.left);
  49. }
  50. if(queueElement.right!=null) {
  51. queue.add(queueElement.right);
  52. }
  53. } else {
  54. if(queueElement.right!=null) {
  55. queue.add(queueElement.right);
  56. }
  57. if(queueElement.left!=null) {
  58. queue.add(queueElement.left);
  59. }
  60. }
  61. }
  62.  
  63. }
  64. }
Success #stdin #stdout 0.04s 2184192KB
stdin
Standard input is empty
stdout
1
2
3
4
5
6
7