Stack Class
PHP
Easy
7 views
Problem Description
Implement a Stack class with push/pop. POP on empty prints EMPTY. Print outputs for POP.
Input Format
First line q. Next q lines.
Output Format
Outputs for POP.
Sample Test Case
Input:
5
POP
PUSH 7
PUSH 2
POP
POP
Official Solution
<?php
class Stack{
private $a=[];
function push($x){ $this->a[]=$x; }
function pop(){
if(!count($this->a)) return null;
return array_pop($this->a);
}
}
$inputLines=preg_split('/\\R/', rtrim(stream_get_contents(STDIN)));
if(!$inputLines || trim($inputLines[0])==='') exit;
$q=intval($inputLines[0]);
$st=new Stack(); $output=[];
for($i=1;$i<=$q;$i++){
$t=trim($inputLines[$i] ?? '');
if($t==='') continue;
if(strpos($t,'PUSH')===0){
$tokens=preg_split('/\\s+/', $t, 2);
$st->push($tokens[1] ?? '0');
}else{
$v=$st->pop();
$output[] = ($v===null)?'EMPTY':$v;
}
}
echo implode(PHP_EOL,$output);
?>
Solutions (0)
No solutions submitted yet. Be the first!
No comments yet. Start the discussion!