比较虚这种自己设计数据结构的题,以后还是要多加练习的,自己还有这道题的印象,但是理解的不深,导致自己觉得这种思路有问题,自己知道pop是通过第一个栈的元素放到第二个栈里面,用第二个栈的pop方法来实现的,觉得如果把第一个栈的元素全都放到第二个栈,如果第一个栈再放进元素的话,再对第一个栈pop,需要把第一个栈的元素放到第二个栈,但是此时pop的方法是不正确的,导致自己对这个思路有怀疑,正确的思路应该是,如果第二次pop的话,先判断第二个栈是否为空,如果为空就复制,如果不为空,就直接对第二个栈pop,这样就实现了队列,peek也是一样,不是每次pop复制。
想了一会每想出来,主要是对队列的方法不太熟,思路是,每offer一个元素,就把这个元素先放到队列尾部,然后再把除这个队列的其他元素(),poll出来后,再重新offer进去,以保持除了最后一个offer进去的元素,其他原队列元素的顺序不变