Problem Explanation
- Stack is an abstract data structure.
- Stack follows LIFO/FILO principle.
- In this challenge, we need to add
.push()
, .pop()
, .peek()
, .isEmpty()
and .clear()
methods to the class.
-
-
push()
method pushes value to the stack.
-
pop()
method pops the first value from the stack.
-
peek()
method returns the first value from the stack.
-
isEmpty()
method checks if ths stack is empty.
-
.clear()
method removes all the elements from the stack.
-
DS |
Access |
Search |
Insert |
Delete |
Stack |
n |
n |
1 |
1 |
Solutions
Solution 1 (Click to Show/Hide)
function Stack() {
var collection = [];
this.print = function() {
console.log(collection);
};
this.push = function(val) {
return collection.push(val);
};
this.pop = function() {
return collection.pop();
};
this.peek = function() {
return collection[collection.length - 1];
};
this.isEmpty = function() {
return collection.length === 0;
};
this.clear = function() {
collection.length = 0;
};
}
Solution 2 (Click to Show/Hide)
class Stack {
constructor() {
this.collection = [];
}
print() {
console.log(this.collection);
}
push(val) {
return this.collection.push(val);
}
pop() {
return this.collection.pop();
}
peek() {
return this.collection[this.collection.length - 1];
}
isEmpty() {
return this.collection.length === 0;
}
clear() {
return (this.collection.length = 0);
}
}
Relevant Links