An algorithm to check if two stacks are equal in javascript.
Example
Input: 2 9 3 7 5 2 9 3 7 5 Output: true

Implementation
- First we will check if the length of both the stacks are same, if they are not equal then return
false. - If the length are same, then check each element in both the stacks by peeking the elements.
- If they are equal then pop the elements else return
false. - At the end if all elements are same in both the stack then return
true.
let equalStacks = (stack1, stack2) => {
//If length is not equal
//Then return false
if(stack1.size() !== stack2.size()){
return false;
}
//Check if each element in both the stack are equal
while(!stack1.isEmpty()){
if(stack1.peek() === stack2.peek()){
stack1.pop();
stack2.pop();
}else{
return false;
}
}
return true;
}
Input: let stack1 = new stackUsingLL(); stack1.push(2); stack1.push(9); stack1.push(3); stack1.push(7); stack1.push(5); let stack2 = new stackUsingLL(); stack2.push(2); stack2.push(9); stack2.push(3); stack2.push(7); stack2.push(5); console.log(equalStacks(stack1, stack2)); Output: true
Time complexity: O(n).
Space complexity: O(1).
Time and Space complexity
- We are checking each element in both the stack, so Time complexity is O(n).
- We are using constant space, so Space complexity is O(1).