File tree Expand file tree Collapse file tree 1 file changed +56
-0
lines changed 
src/com/hackerrank/tutorials/ctci Expand file tree Collapse file tree 1 file changed +56
-0
lines changed Original file line number Diff line number Diff line change 1+ package  com .hackerrank .tutorials .ctci ;
2+ 
3+ import  java .util .Scanner ;
4+ import  java .util .Stack ;
5+ 
6+ /** 
7+  * Question: https://www.hackerrank.com/challenges/ctci-queue-using-two-stacks 
8+  * Level: Medium 
9+  * 
10+  * @author ramswaroop 
11+  * @version 07/10/2016 
12+  */ 
13+ public  class  QueuesWithTwoStacks  {
14+ 
15+     public  static  class  MyQueue <T > {
16+         Stack <T > stackNewestOnTop  = new  Stack <T >();
17+         Stack <T > stackOldestOnTop  = new  Stack <T >();
18+ 
19+         public  void  enqueue (T  value ) { // Push onto newest stack 
20+             stackNewestOnTop .push (value );
21+         }
22+ 
23+         public  T  peek () {
24+             return  stackOldestOnTop .isEmpty () ? stackNewestOnTop .firstElement () : stackOldestOnTop .peek ();
25+         }
26+ 
27+         public  T  dequeue () {
28+             if  (stackOldestOnTop .isEmpty ()) {
29+                 while  (!stackNewestOnTop .isEmpty ()) {
30+                     stackOldestOnTop .push (stackNewestOnTop .pop ());
31+                 }
32+             }
33+             return  stackOldestOnTop .pop ();
34+         }
35+     }
36+ 
37+ 
38+     public  static  void  main (String [] args ) {
39+         MyQueue <Integer > queue  = new  MyQueue <>();
40+ 
41+         Scanner  scan  = new  Scanner (System .in );
42+         int  n  = scan .nextInt ();
43+ 
44+         for  (int  i  = 0 ; i  < n ; i ++) {
45+             int  operation  = scan .nextInt ();
46+             if  (operation  == 1 ) { // enqueue 
47+                 queue .enqueue (scan .nextInt ());
48+             } else  if  (operation  == 2 ) { // dequeue 
49+                 queue .dequeue ();
50+             } else  if  (operation  == 3 ) { // print/peek 
51+                 System .out .println (queue .peek ());
52+             }
53+         }
54+         scan .close ();
55+     }
56+ }
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments