/** * 将栈倒置 */ publicstaticvoidreverse(Stack<Integer> stack){ if (stack.isEmpty()) { return; } int item = getAndRemoveLastElement(stack); reverse(stack); stack.push(item); }
/** * 将stack的栈底元素返回并移除 * */ publicstaticintgetAndRemoveLastElement(Stack<Integer> stack){ int result = stack.pop(); if (stack.isEmpty()) { return result; } int last = getAndRemoveLastElement(stack); stack.push(result); return last; }