LeetCode 225. 用队列实现栈
来源:3-2 作业解析:用队列实现栈
PHP微信小程序开发
2021-12-05 12:11:08
老师,关于这道题,我看了一下LeetCode上面已经通过的的代码,并没有按照题目要求(仅使用两个队列实现一个后入先出(LIFO)的栈),但是都提交通过了,那这样的话,这种题目感觉都没有任何意义,我这么说对吗?ps:是php代码,不过老师应该一眼也能看懂
class MyStack { private $s = []; /** */ function __construct() { } /** * @param Integer $x * @return NULL */ function push($x) { $this->s[] = $x; } /** * @return Integer */ function pop() { return array_pop($this->s); } /** * @return Integer */ function top() { return $this->s[count($this->s) -1]; } /** * @return Boolean */ function empty() { return count($this->s) == 0; } } /** * Your MyStack object will be instantiated and called as such: * $obj = MyStack(); * $obj->push($x); * $ret_2 = $obj->pop(); * $ret_3 = $obj->top(); * $ret_4 = $obj->empty(); */
1回答
这本身就是 OJ 本身的局限性。OJ 不能判断你的代码的具体实现是怎样的,只能判断出你的代码的输出是否正确,时间,空间,是否在指定的范围里。
如果是以面试为目的的话,这种问题是有意义的。因为面试官会审视你的具体实现是怎样的,是否符合给定的限制;
但如果是以竞赛为目的的话,是的,这种问题没有意义,竞赛也完全不会出这种问题。
继续加油!:)
相似问题