forked from super30admin/PreCourse-1
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathExercise_1.java
More file actions
63 lines (53 loc) · 1.59 KB
/
Exercise_1.java
File metadata and controls
63 lines (53 loc) · 1.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
// Time Complexity : push, pop and peek operations --> O(1)
// Space Complexity : O(n)
// Did this code successfully run on Leetcode :
// Any problem you faced while coding this :
class Stack {
static final int MAX = 1000;
int top;
int a[] = new int[MAX]; // Maximum size of Stack
boolean isEmpty()
{
return top == -1; //return true if stack is empty
}
Stack()
{
top = -1;//Initialize your constructor
}
boolean push(int x) //time: O(1), space: O(1)
{
if(top == MAX-1) //top reached last index indicating stack overflow
return false;
a[++top] = x; //increment the top and then store x
return true;
}
int pop() //time: O(1), space: O(1)
{
//If empty return 0 and print " Stack Underflow"
//Write your code here
if(top == -1)
{
System.out.println("Stack Underflow"); //if stack empty, returns 0
return 0;
}
return a[top--]; //returns the top of the stack then decrements top
}
int peek() //time: O(1), space: O(1)
{
//Write your code here
if(top == -1)
return -1;
return a[top]; //same as pop but top isn't decremented
}
}
// Driver code
class Main {
public static void main(String args[])
{
Stack s = new Stack();
s.push(10);
s.push(20);
s.push(30);
System.out.println(s.pop() + " Popped from stack");
}
}